These are chat archives for dropbox/pyston
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.
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
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
call imm, reg, call regbeing worse to predict than
call relative_addror it's just because the code size is a little smaller and that makes it easier to predict?