These are chat archives for dropbox/pyston

30th
May 2016
Marius Wachtler
@undingen
May 30 2016 17:53

So I just noticed that making the bjit allocate the code mem in <31bit address space reduces the amount of branch misprediction by a huge amount.
for minibehcnmarks/raytrace.py in -I mode:
64bit address space

    51,372,106,495      instructions              #    1.43  insns per cycle        
    11,152,007,196      branches                  #  990.082 M/sec                  
       202,121,032      branch-misses             #    1.81% of all branches

31bit

    50,479,438,306      instructions              #    1.49  insns per cycle        
    11,154,458,387      branches                  # 1049.173 M/sec                  
        58,389,623      branch-misses             #    0.52% of all branches
the number of rewrites stay the same so it's not directly caused by rewriting more because of the smaller code size. But it looks to me like it is caused by the call imm, reg, call reg being worse to predict than call relative_addr or it's just because the code size is a little smaller and that makes it easier to predict?
Marius Wachtler
@undingen
May 30 2016 17:58
@chrisseaton looks like a interesting meetup :-)