[Summary: the recursion_and_inlining branch stops us tracing arbitrarily deep
in recursive functions. Comments welcome. If we think this is a good idea, we
have to decide if/how many levels deep we unroll before stopping tracing. My
current thinking is that 7 levels looks about right, though this is heavily
dependent on which benchmarks one considers.]


I recently pushed a branch recursion_and_inlining which aims to tackle the
problem of controlling tracing in the face of recursion. I have been vaguely
aware of an issue here for a while, but never quite managed to nail the
problem down. Then Kevin Modzelewski pointed me to a small benchmark called
"polymorphism" [1] he'd sent to the list back in April which shows the core
problem.

Some simple benchmarking shows that we have a performance problem -- PyPy is
4.4x slower than CPython on this benchmark:

  $ multitime -n 10 python polymorphism.py
  ===> multitime results
  1: python /tmp/polymorphism.py
              Mean        Std.Dev.    Min         Median      Max
  real        1.649       0.058       1.595       1.632       1.763       
  user        1.643       0.057       1.592       1.624       1.756       
  sys         0.002       0.003       0.000       0.002       0.008
  $ multitime -n 10 ./pypy-c-orig polymorphism.py
  ===> multitime results
  1: ./pypy-c-orig /tmp/polymorphism.py
              Mean        Std.Dev.    Min         Median      Max
  real        7.198       0.047       7.131       7.203       7.274       
  user        7.156       0.051       7.076       7.154       7.232       
  sys         0.033       0.011       0.012       0.032       0.048 

The problem is that RPython's naturally aggressive inlining also inlines
recursive functions. So while we don't unroll explicit loops (while/for), we
end up unrolling recursive functions. Sometimes this works out OK, but it's
more likely to end in aborts, or traces which end up with lots of side
traces. Both latter cases are inefficient. As far as I can see, the most
frequent use of aborts is as a heuristic that recursion has been encountered.

There is one way in which recursion doesn't inline, which is if the
recursive function happens to be the start of the trace, in which case (I
think) myjitpl.MIFrame.opimpl_jit_merge_point turns it into a nice loop.
However, if the recursion starts part way into a trace, all bets are off.

Kevin's benchmark has two types of recursion: one in the make_random
function; and another in Poly1.score. make_random is (obviously) directly
recursive; Poly1.score is indirectly recursive. Both cause the problem noted
above.

The recursion_and_inlining branch [2] tries to dynamically spot recursion by
trapping function calls in pyjitpl.MIFrame._opimpl_recursive_call and seeing
if they're currently on the meta-interpreter stack. If they are then it can
choose to stop tracing and turn the recursive call into an actual function
call (it then sets the function as JC_DONT_TRACE_HERE so that, if it hasn't
been traced separately already, it will then be traced, with the recursion
handled by the existing case in opimpl_jit_merge_point). Doing this speeds
Kevin's benchmark up significantly:

  $ multitime -n 10 ./pypy-c-level1 /tmp/polymorphism.py
  ===> multitime results
  1: ./pypy-c-level1 /tmp/polymorphism.py
              Mean        Std.Dev.    Min         Median      Max
  real        0.535       0.013       0.516       0.535       0.560       
  user        0.517       0.018       0.476       0.522       0.544       
  sys         0.016       0.008       0.008       0.012       0.036

We've gone from 4.4x slower than CPython to over 3x faster (i.e. PyPy in
recursion_and_inlining is 13.5x faster than normal PyPy). Which is nice.

However, if I run the branch on the PyPy benchmark suite, we see some
significant slowdown in a handful of benchmarks relative to normal PyPy.
[Full data is attached as results1.txt]. e.g. hexiom2 is 1.3x slower;
raytrace-simple is 3.3x slower; spectral-norm 3.3x slower; sympy_str 1.5x
slower; and telco 4x slower. A few benchmarks speed up in a meaningful way;
most run so quickly that any differences are lost in the noise (IMHO any
benchmark running for 0.1s or less is too short to draw many conclusions
from). The translate test doesn't seem to be impacted by the change either
way. Nevertheless -- and even taking into account that the current benchmark
suite and PyPy optimisations have sort-of evolved hand-in-hand -- the slow
benchmarks aren't good.

So, fortunately, our branch can trivially be extended to identify not just
recursion, but how deeply we've recursed. Put another way, we can choose to
allow a function to be unrolled a fixed number of times before stopping
tracing. How many unrollings should we choose? Well, I've spent time putting
together some rough data (note: this is not perfect benchmarking, but it's
probably good enough). Let's take our slow-coaches (to one decimal place,
because there's quite a bit of noise) and Kevin's benchmark (to 2 decimal
places, because it runs long enough to make that sensible) and see how they
change relative to normal PyPy as we crank up the unrollings:

       #unrollings |  1   |  2   |  3   |  5   |  7   |  10  |
  -----------------+------+------+------+------+------+------+
  hexiom2          | 1.3  | 1.4  | 1.1  | 1.0  | 1.0  | 1.0  |
  raytrace-simple  | 3.3  | 3.1  | 2.8  | 1.4  | 1.0  | 1.0  |
  spectral-norm    | 3.3  | 1.0  | 1.0  | 1.0  | 1.0  | 1.0  |
  sympy_str        | 1.5  | 1.0  | 1.0  | 1.0  | 1.0  | 1.0  |
  telco            | 4    | 2.5  | 2.0  | 1.0  | 1.0  | 1.0  |
  -----------------+------+------+------+------+------+------+
  polymorphism     | 0.07 | 0.07 | 0.07 | 0.07 | 0.08 | 0.09 |

Lower is better in this table. What you can't quite see from that is that
Kevin's benchmark starts getting a teeny bit slower from 5 unrollings upwards
(we'd need another decimal place to see it). All data is attached in
results<x>.txt files if you want to see the raw data.

What I take from the above is that a reasonable guess as to a sensible number
of unrollings seems to be 7. It makes most of the standard benchmarks behave
as they always have, while not doing too much to benchmarks which are
recursive in a different style. Of course, this is all *highly* dependent on
the benchmarks chosen, and if one day we have more benchmarks, we should
revisit this number accordingly.

Note also that this is a patch to *RPython*. It should effect (for better or
worse) all RPython VMs, not just PyPy. e.g. it speeds the Converge compiler
up by a bit over 5% (I haven't tried much more than that).

So there you have it. How would you folks like to proceed? I welcome
comments, as this is not an area of RPython that I've looked at before.
e.g. how many unrollings do you think are sensible? Note that a few tests are
currently broken, because they depend on how many unrollings we choose to do.
Once we've fixed that behaviour, I'll unbreak the tests. I also would very
much welcome tests on other recursive and non-recursive programs/benchmarks
you may have to see how this branch impacts upon performance.

I'd like to say thanks to Kevin for pointing out the problem to me; Carl
Friedrich for helping me understand that tracing recursion was the problem;
and Tanzim Hoque for helping pick into some of the details of pyjitpl.


Laurie

[1] 
https://raw.githubusercontent.com/dropbox/pyston/master/microbenchmarks/polymorphism.py
[2] The key patch is:
      
https://bitbucket.org/pypy/pypy/commits/b60064f55316ceb4a3bd784c00a467253a197c4c
Report on Linux bencher3 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 
Total CPU cores: 4

### ai ###
Min: 0.023896 -> 0.023524: 1.0158x faster
Avg: 0.024042 -> 0.023743: 1.0126x faster
Significant (t=4.300444, a=0.95)
Stddev: 0.00031 -> 0.00038: 1.2092x larger


### bm_chameleon ###
Min: 0.007552 -> 0.008992: 1.1906x slower
Avg: 0.010259 -> 0.011695: 1.1399x slower
Significant (t=-2.958955, a=0.95)
Stddev: 0.00422 -> 0.00418: 1.0098x smaller


### bm_dulwich_log ###
Min: 0.093526 -> 0.108061: 1.1554x slower
Avg: 0.132285 -> 0.143125: 1.0819x slower
Not significant
Stddev: 0.11097 -> 0.09810: 1.1312x smaller


### bm_mako ###
Min: 0.008855 -> 0.008900: 1.0051x slower
Avg: 0.011058 -> 0.010998: 1.0055x faster
Not significant
Stddev: 0.00367 -> 0.00355: 1.0325x smaller


### chaos ###
Min: 0.003802 -> 0.006283: 1.6525x slower
Avg: 0.005174 -> 0.007426: 1.4354x slower
Not significant
Stddev: 0.00888 -> 0.00728: 1.2189x smaller


### sphinx ###
Raw results: [76.860211134] [75.8158118725]

### crypto_pyaes ###
Min: 0.024762 -> 0.025725: 1.0389x slower
Avg: 0.027516 -> 0.028323: 1.0293x slower
Not significant
Stddev: 0.01021 -> 0.00950: 1.0752x smaller


### deltablue ###
Min: 0.000666 -> 0.001062: 1.5941x slower
Avg: 0.006572 -> 0.006668: 1.0147x slower
Not significant
Stddev: 0.00912 -> 0.00978: 1.0721x larger


### django ###
Min: 0.015844 -> 0.020710: 1.3071x slower
Avg: 0.017266 -> 0.022298: 1.2915x slower
Significant (t=-11.193663, a=0.95)
Stddev: 0.00226 -> 0.00223: 1.0132x smaller


### eparse ###
Min: 0.167241 -> 0.182543: 1.0915x slower
Avg: 0.226103 -> 0.237554: 1.0506x slower
Not significant
Stddev: 0.05000 -> 0.04521: 1.1060x smaller

### fannkuch ###
Min: 0.092299 -> 0.092014: 1.0031x faster
Avg: 0.093250 -> 0.092878: 1.0040x faster
Not significant
Stddev: 0.00440 -> 0.00437: 1.0066x smaller


### float ###
Min: 0.015519 -> 0.015288: 1.0151x faster
Avg: 0.023097 -> 0.022767: 1.0145x faster
Not significant
Stddev: 0.00619 -> 0.00609: 1.0163x smaller


### genshi_text ###
Min: 0.007438 -> 0.007730: 1.0392x slower
Avg: 0.009406 -> 0.010046: 1.0681x slower
Not significant
Stddev: 0.00894 -> 0.00907: 1.0144x larger


### genshi_xml ###
Min: 0.023765 -> 0.023280: 1.0208x faster
Avg: 0.027038 -> 0.026623: 1.0156x faster
Not significant
Stddev: 0.01481 -> 0.01475: 1.0039x smaller


### go ###
Min: 0.055311 -> 0.053643: 1.0311x faster
Avg: 0.082657 -> 0.062297: 1.3268x faster
Significant (t=4.947673, a=0.95)
Stddev: 0.02728 -> 0.01013: 2.6918x smaller


### hexiom2 ###
Min: 5.799438 -> 7.763072: 1.3386x slower
Avg: 6.019426 -> 7.979220: 1.3256x slower
Significant (t=-44.482017, a=0.95)
Stddev: 0.22222 -> 0.21834: 1.0178x smaller


### html5lib ###
Min: 1.317897 -> 1.255603: 1.0496x faster
Avg: 1.772609 -> 1.587764: 1.1164x faster
Not significant
Stddev: 0.56009 -> 0.49102: 1.1407x smaller


### json_bench ###
Min: 0.400927 -> 0.438493: 1.0937x slower
Avg: 0.404558 -> 0.443308: 1.0958x slower
Significant (t=-19.128974, a=0.95)
Stddev: 0.01106 -> 0.00911: 1.2142x smaller


### meteor-contest ###
Min: 0.059441 -> 0.058887: 1.0094x faster
Avg: 0.060555 -> 0.059946: 1.0102x faster
Not significant
Stddev: 0.00321 -> 0.00319: 1.0071x smaller


### nbody_modified ###
Min: 0.018606 -> 0.018764: 1.0085x slower
Avg: 0.019102 -> 0.019194: 1.0048x slower
Not significant
Stddev: 0.00201 -> 0.00198: 1.0122x smaller


### pidigits ###
Min: 5.363477 -> 5.149447: 1.0416x faster
Avg: 5.383062 -> 5.170978: 1.0410x faster
Significant (t=8.117698, a=0.95)
Stddev: 0.04099 -> 0.04163: 1.0155x larger

### pyflate-fast ###
Min: 0.185501 -> 0.215078: 1.1594x slower
Avg: 0.188702 -> 0.216523: 1.1474x slower
Significant (t=-65.827533, a=0.95)
Stddev: 0.00281 -> 0.00101: 2.7794x smaller


### raytrace-simple ###
Min: 0.017988 -> 0.059219: 3.2922x slower
Avg: 0.018873 -> 0.060078: 3.1833x slower
Significant (t=-141.219274, a=0.95)
Stddev: 0.00113 -> 0.00173: 1.5266x larger


### richards ###
Min: 0.001870 -> 0.002248: 1.2022x slower
Avg: 0.002008 -> 0.002368: 1.1792x slower
Significant (t=-4.065223, a=0.95)
Stddev: 0.00043 -> 0.00045: 1.0413x larger


### rietveld ###
Min: 0.043556 -> 0.050356: 1.1561x slower
Avg: 0.116072 -> 0.120596: 1.0390x slower
Not significant
Stddev: 0.09529 -> 0.08353: 1.1408x smaller


### scimark_fft ###
0.136257 -> -1.000000: -1

### scimark_lu ###
0.300565 -> -1.000000: -1

### scimark_montecarlo ###
0.139376 -> -1.000000: -1

### scimark_sor ###
0.226458 -> -1.000000: -1

### scimark_sparsematmult ###
0.147132 -> -1.000000: -1

### slowspitfire ###
Min: 0.150665 -> 0.150214: 1.0030x faster
Avg: 0.161504 -> 0.161734: 1.0014x slower
Not significant
Stddev: 0.00558 -> 0.00722: 1.2952x larger


### spambayes ###
Min: 0.029400 -> 0.029954: 1.0188x slower
Avg: 0.049929 -> 0.051126: 1.0240x slower
Not significant
Stddev: 0.01489 -> 0.01562: 1.0489x larger


### spectral-norm ###
Min: 0.009344 -> 0.031196: 3.3386x slower
Avg: 0.010038 -> 0.031759: 3.1640x slower
Significant (t=-37.808674, a=0.95)
Stddev: 0.00286 -> 0.00289: 1.0089x larger


### spitfire ###
Min: 1.150000 -> 1.150000: no change
Avg: 1.186200 -> 1.191600: 1.0046x slower
Not significant
Stddev: 0.03181 -> 0.03080: 1.0329x smaller


### spitfire_cstringio ###                                                      
                                                                                
                                          [29/1765]
Min: 0.530000 -> 0.410000: 1.2927x faster
Avg: 0.558800 -> 0.433800: 1.2882x faster
Significant (t=25.891200, a=0.95)
Stddev: 0.02480 -> 0.02346: 1.0568x smaller


### sympy_expand ###
Min: 0.210130 -> 0.212947: 1.0134x slower
Avg: 0.317229 -> 0.308200: 1.0293x faster
Not significant
Stddev: 0.19828 -> 0.17363: 1.1420x smaller


### sympy_integrate ###
Min: 0.776576 -> 0.764212: 1.0162x faster
Avg: 1.237801 -> 1.147388: 1.0788x faster
Not significant
Stddev: 0.70127 -> 0.56203: 1.2477x smaller


### sympy_str ###
Min: 0.153791 -> 0.104809: 1.4673x faster
Avg: 0.297872 -> 0.277957: 1.0716x faster
Not significant
Stddev: 0.20000 -> 0.20368: 1.0184x larger


### sympy_sum ###
Min: 0.207153 -> 0.224769: 1.0850x slower
Avg: 0.293553 -> 0.302402: 1.0301x slower
Not significant
Stddev: 0.12345 -> 0.10984: 1.1239x smaller


### telco ###
Min: 0.008000 -> 0.032002: 4.0003x slower
Avg: 0.014001 -> 0.036482: 2.6057x slower
Significant (t=-12.647330, a=0.95)
Stddev: 0.00915 -> 0.00862: 1.0623x smaller


### trans2_annotate ###
Raw results: [301.8] None

### trans2_rtype ###
Raw results: [586.4] None

### trans2_backendopt ###
Raw results: [82.0] None

### trans2_database ###
Raw results: [112.6] None

### trans2_source ###
Raw results: [120.2] None

### twisted_iteration ###
Min: 0.002044 -> 0.002382: 1.1655x slower
Avg: 0.002076 -> 0.002406: 1.1589x slower
Significant (t=-90.456630, a=0.95)
Stddev: 0.00002 -> 0.00001: 1.5006x smaller


### twisted_names ###
Min: 0.000758 -> 0.000808: 1.0667x slower
Avg: 0.000767 -> 0.000816: 1.0634x slower
Significant (t=-41.869786, a=0.95)
Stddev: 0.00001 -> 0.00001: 1.1888x smaller


### twisted_pb ###
Min: 0.003379 -> 0.003722: 1.1016x slower
Avg: 0.003661 -> 0.004049: 1.1059x slower
Significant (t=-11.815989, a=0.95)
Stddev: 0.00016 -> 0.00017: 1.1098x larger


### twisted_tcp ###
Min: 0.085662 -> 0.089216: 1.0415x slower
Avg: 0.087151 -> 0.090960: 1.0437x slower
Significant (t=-11.383010, a=0.95)
Stddev: 0.00155 -> 0.00179: 1.1552x larger
### ai ###
Min: 0.024519 -> 0.023830: 1.0289x faster
Avg: 0.024719 -> 0.024149: 1.0236x faster
Significant (t=5.841142, a=0.95)
Stddev: 0.00032 -> 0.00061: 1.8921x larger


### bm_chameleon ###
Min: 0.007607 -> 0.009337: 1.2274x slower
Avg: 0.010243 -> 0.012217: 1.1928x slower
Significant (t=-4.033700, a=0.95)
Stddev: 0.00420 -> 0.00428: 1.0183x larger


### bm_dulwich_log ###
Min: 0.097236 -> 0.097346: 1.0011x slower
Avg: 0.135518 -> 0.138144: 1.0194x slower
Not significant
Stddev: 0.11196 -> 0.11137: 1.0053x smaller


### bm_mako ###
Min: 0.008915 -> 0.009264: 1.0392x slower
Avg: 0.011081 -> 0.011375: 1.0265x slower
Not significant
Stddev: 0.00370 -> 0.00361: 1.0249x smaller


### chaos ###
Min: 0.003758 -> 0.004400: 1.1709x slower
Avg: 0.005148 -> 0.005729: 1.1129x slower
Not significant
Stddev: 0.00897 -> 0.00854: 1.0504x smaller


### sphinx ###
Raw results: [78.2611758709] [77.0095219612]

### crypto_pyaes ###
Min: 0.025186 -> 0.024932: 1.0102x faster
Avg: 0.027842 -> 0.027758: 1.0030x faster
Not significant
Stddev: 0.01012 -> 0.01023: 1.0108x larger


### deltablue ###
Min: 0.000680 -> 0.000923: 1.3573x slower
Avg: 0.006624 -> 0.006197: 1.0688x faster
Not significant
Stddev: 0.00915 -> 0.00887: 1.0316x smaller


### django ###
Min: 0.015887 -> 0.020281: 1.2766x slower
Avg: 0.017195 -> 0.021805: 1.2681x slower
Significant (t=-10.510799, a=0.95)
Stddev: 0.00215 -> 0.00224: 1.0428x larger


### eparse ###
Min: 0.158280 -> 0.174940: 1.1053x slower
Avg: 0.221771 -> 0.222904: 1.0051x slower
Not significant
Stddev: 0.04991 -> 0.05164: 1.0348x larger


### fannkuch ###
Min: 0.091970 -> 0.092063: 1.0010x slower
Avg: 0.092925 -> 0.093031: 1.0011x slower
Not significant
Stddev: 0.00431 -> 0.00438: 1.0169x larger


### float ###
Min: 0.015624 -> 0.015870: 1.0157x slower
Avg: 0.023262 -> 0.023572: 1.0133x slower
Not significant
Stddev: 0.00613 -> 0.00618: 1.0074x larger


### genshi_text ###
Min: 0.007519 -> 0.007399: 1.0162x faster
Avg: 0.009532 -> 0.009198: 1.0363x faster
Not significant
Stddev: 0.00875 -> 0.00774: 1.1306x smaller


### genshi_xml ###
Min: 0.022098 -> 0.024445: 1.1062x slower
Avg: 0.025456 -> 0.027746: 1.0899x slower
Not significant
Stddev: 0.01513 -> 0.01386: 1.0915x smaller


### go ###
Min: 0.054469 -> 0.049704: 1.0959x faster
Avg: 0.081538 -> 0.062104: 1.3129x faster
Significant (t=4.477202, a=0.95)
Stddev: 0.02725 -> 0.01412: 1.9304x smaller


### hexiom2 ###
Min: 5.765985 -> 7.972130: 1.3826x slower
Avg: 5.997823 -> 8.225795: 1.3715x slower
Significant (t=-45.382973, a=0.95)
Stddev: 0.23419 -> 0.25624: 1.0941x larger


### html5lib ###
Min: 1.251295 -> 1.210693: 1.0335x faster
Avg: 1.732520 -> 1.672716: 1.0358x faster
Not significant
Stddev: 0.58002 -> 0.55705: 1.0412x smaller


### json_bench ###
Min: 0.410679 -> 0.528665: 1.2873x slower
Avg: 0.414892 -> 0.533759: 1.2865x slower
Significant (t=-53.306479, a=0.95)
Stddev: 0.01118 -> 0.01112: 1.0059x smaller


### meteor-contest ###
Min: 0.059319 -> 0.058654: 1.0113x faster
Avg: 0.060485 -> 0.059748: 1.0123x faster
Not significant
Stddev: 0.00321 -> 0.00323: 1.0058x larger


### nbody_modified ###
Min: 0.018536 -> 0.018806: 1.0146x slower
Avg: 0.019032 -> 0.019321: 1.0152x slower
Not significant
Stddev: 0.00204 -> 0.00197: 1.0325x smaller


### pidigits ###
Min: 5.366191 -> 5.344685: 1.0040x faster
Avg: 5.392111 -> 5.366315: 1.0048x faster
Not significant
Stddev: 0.04388 -> 0.04192: 1.0467x smaller


### pyflate-fast ###
Min: 0.193320 -> 0.212552: 1.0995x slower
Avg: 0.196630 -> 0.213785: 1.0872x slower
Significant (t=-54.781980, a=0.95)
Stddev: 0.00197 -> 0.00101: 1.9416x smaller


### raytrace-simple ###
Min: 0.018000 -> 0.056360: 3.1311x slower
Avg: 0.019035 -> 0.057023: 2.9957x slower
Significant (t=-140.523775, a=0.95)
Stddev: 0.00116 -> 0.00152: 1.3046x larger


### richards ###
Min: 0.001856 -> 0.001877: 1.0113x slower
Avg: 0.001988 -> 0.001997: 1.0047x slower
Not significant
Stddev: 0.00044 -> 0.00044: 1.0091x larger


### rietveld ###
Min: 0.041706 -> 0.042024: 1.0076x slower
Avg: 0.114850 -> 0.115267: 1.0036x slower
Not significant
Stddev: 0.09532 -> 0.09368: 1.0175x smaller


### scimark_fft ###
0.136390 -> -1.000000: -1

### scimark_lu ###
0.298607 -> -1.000000: -1

### scimark_montecarlo ###
0.141685 -> -1.000000: -1

### scimark_sor ###
0.226635 -> -1.000000: -1

### scimark_sparsematmult ###
0.147101 -> -1.000000: -1

### slowspitfire ###
Min: 0.152183 -> 0.152311: 1.0008x slower
Avg: 0.162501 -> 0.163124: 1.0038x slower
Not significant
Stddev: 0.00551 -> 0.00570: 1.0344x larger


### spambayes ###
Min: 0.028572 -> 0.029657: 1.0380x slower
Avg: 0.049160 -> 0.051171: 1.0409x slower
Not significant
Stddev: 0.01736 -> 0.01518: 1.1434x smaller


### spectral-norm ###
Min: 0.009342 -> 0.009381: 1.0042x slower
Avg: 0.010040 -> 0.010042: 1.0002x slower
Not significant
Stddev: 0.00285 -> 0.00289: 1.0140x larger


### spitfire ###
Min: 1.160000 -> 1.140000: 1.0175x faster
Avg: 1.194200 -> 1.181400: 1.0108x faster
Significant (t=2.040372, a=0.95)
Stddev: 0.03302 -> 0.02962: 1.1145x smaller


### spitfire_cstringio ###
Min: 0.400000 -> 0.390000: 1.0256x faster
Avg: 0.426800 -> 0.410000: 1.0410x faster
Significant (t=3.168258, a=0.95)
Stddev: 0.02691 -> 0.02611: 1.0308x smaller


### sympy_expand ###
Min: 0.206214 -> 0.240614: 1.1668x slower
Avg: 0.316202 -> 0.333418: 1.0544x slower
Not significant
Stddev: 0.19306 -> 0.19010: 1.0156x smaller


### sympy_integrate ###
Min: 0.801874 -> 0.781623: 1.0259x faster
Avg: 1.271010 -> 1.176734: 1.0801x faster
Not significant
Stddev: 0.67044 -> 0.64535: 1.0389x smaller


### sympy_str ###
Min: 0.156287 -> 0.160201: 1.0250x slower
Avg: 0.303686 -> 0.326078: 1.0737x slower
Not significant
Stddev: 0.20273 -> 0.22414: 1.1056x larger


### sympy_sum ###
Min: 0.198554 -> 0.201798: 1.0163x slower
Avg: 0.290399 -> 0.298513: 1.0279x slower
Not significant
Stddev: 0.12515 -> 0.13811: 1.1036x larger


### telco ###
Min: 0.008000 -> 0.020001: 2.5001x slower
Avg: 0.014241 -> 0.025362: 1.7809x slower
Significant (t=-6.447078, a=0.95)
Stddev: 0.00943 -> 0.00774: 1.2192x smaller


### trans2_annotate ###
Raw results: [303.2] None

### trans2_rtype ###
Raw results: [612.2] None

### trans2_backendopt ###
Raw results: [83.8] None

### trans2_database ###
Raw results: [115.0] None

### trans2_source ###
Raw results: [120.7] None

### twisted_iteration ###
Min: 0.002040 -> 0.002048: 1.0040x slower
Avg: 0.002054 -> 0.002068: 1.0066x slower
Significant (t=-6.838156, a=0.95)
Stddev: 0.00001 -> 0.00001: 1.0082x smaller


### twisted_names ###
Min: 0.000737 -> 0.000749: 1.0166x slower
Avg: 0.000747 -> 0.000759: 1.0148x slower
Significant (t=-8.378163, a=0.95)
Stddev: 0.00001 -> 0.00001: 1.2645x larger


### twisted_pb ###
Min: 0.003442 -> 0.003522: 1.0232x slower
Avg: 0.003739 -> 0.003842: 1.0276x slower
Significant (t=-3.155522, a=0.95)
Stddev: 0.00016 -> 0.00016: 1.0193x smaller


### twisted_tcp ###
Min: 0.081666 -> 0.089769: 1.0992x slower
Avg: 0.083214 -> 0.090795: 1.0911x slower
Significant (t=-31.579612, a=0.95)
Stddev: 0.00152 -> 0.00076: 1.9919x smaller
### ai ###
Min: 0.024530 -> 0.023645: 1.0374x faster
Avg: 0.024767 -> 0.023963: 1.0336x faster
Significant (t=11.078261, a=0.95)
Stddev: 0.00033 -> 0.00039: 1.2038x larger


### bm_chameleon ###
Min: 0.007709 -> 0.009386: 1.2175x slower
Avg: 0.010223 -> 0.011915: 1.1655x slower
Significant (t=-3.516124, a=0.95)
Stddev: 0.00424 -> 0.00410: 1.0344x smaller


### bm_dulwich_log ###
Min: 0.111125 -> 0.107174: 1.0369x faster
Avg: 0.151440 -> 0.145219: 1.0428x faster
Not significant
Stddev: 0.11254 -> 0.11114: 1.0125x smaller


### bm_mako ###
Min: 0.009072 -> 0.008993: 1.0088x faster
Avg: 0.011201 -> 0.011180: 1.0019x faster
Not significant
Stddev: 0.00366 -> 0.00364: 1.0047x smaller


### chaos ###
Min: 0.003846 -> 0.004008: 1.0421x slower
Avg: 0.005232 -> 0.005390: 1.0303x slower
Not significant
Stddev: 0.00900 -> 0.00896: 1.0047x smaller


### sphinx ###
Raw results: [78.2049300671] [76.9637699127]

### crypto_pyaes ###
Min: 0.025174 -> 0.024822: 1.0142x faster
Avg: 0.027979 -> 0.027446: 1.0194x faster
Not significant
Stddev: 0.01029 -> 0.01014: 1.0148x smaller


### deltablue ###
Min: 0.000685 -> 0.000915: 1.3355x slower
Avg: 0.006643 -> 0.006407: 1.0369x faster
Not significant
Stddev: 0.00920 -> 0.00861: 1.0692x smaller


### django ###
Min: 0.016882 -> 0.015822: 1.0670x faster
Avg: 0.018295 -> 0.017131: 1.0679x faster
Significant (t=2.678836, a=0.95)
Stddev: 0.00218 -> 0.00217: 1.0056x smaller


### eparse ###
Min: 0.178579 -> 0.182563: 1.0223x slower
Avg: 0.227297 -> 0.224844: 1.0109x faster
Not significant
Stddev: 0.04975 -> 0.04936: 1.0078x smaller


### fannkuch ###
Min: 0.092023 -> 0.092981: 1.0104x slower
Avg: 0.093026 -> 0.093839: 1.0087x slower
Not significant
Stddev: 0.00459 -> 0.00436: 1.0523x smaller


### float ###
Min: 0.016049 -> 0.016316: 1.0166x slower
Avg: 0.023619 -> 0.023923: 1.0129x slower
Not significant
Stddev: 0.00619 -> 0.00619: 1.0006x larger


### genshi_text ###
Min: 0.007739 -> 0.007923: 1.0238x slower
Avg: 0.009736 -> 0.009785: 1.0050x slower
Not significant
Stddev: 0.00889 -> 0.00759: 1.1709x smaller


### genshi_xml ###
Min: 0.022961 -> 0.023157: 1.0085x slower
Avg: 0.026239 -> 0.026411: 1.0066x slower
Not significant
Stddev: 0.01519 -> 0.01359: 1.1178x smaller


### go ###
Min: 0.053826 -> 0.044093: 1.2207x faster
Avg: 0.082227 -> 0.055605: 1.4788x faster
Significant (t=6.157912, a=0.95)
Stddev: 0.02767 -> 0.01299: 2.1303x smaller


### hexiom2 ###
Min: 5.772802 -> 6.185860: 1.0716x slower
Avg: 6.008467 -> 6.430217: 1.0702x slower
Significant (t=-8.696341, a=0.95)
Stddev: 0.23806 -> 0.24684: 1.0369x larger


### html5lib ###
Min: 1.276636 -> 1.201707: 1.0624x faster
Avg: 1.742303 -> 1.666700: 1.0454x faster
Not significant
Stddev: 0.57257 -> 0.54649: 1.0477x smaller


### json_bench ###
Min: 0.403071 -> 0.405566: 1.0062x slower
Avg: 0.407013 -> 0.410124: 1.0076x slower
Not significant
Stddev: 0.01099 -> 0.01134: 1.0322x larger


### meteor-contest ###
Min: 0.059418 -> 0.058484: 1.0160x faster
Avg: 0.060614 -> 0.059640: 1.0163x faster
Not significant
Stddev: 0.00318 -> 0.00324: 1.0179x larger


### nbody_modified ###
Min: 0.018613 -> 0.018432: 1.0098x faster
Avg: 0.019143 -> 0.018961: 1.0096x faster
Not significant
Stddev: 0.00203 -> 0.00202: 1.0075x smaller


### pidigits ###
Min: 5.398082 -> 5.244479: 1.0293x faster
Avg: 5.421811 -> 5.267033: 1.0294x faster
Significant (t=5.504659, a=0.95)
Stddev: 0.04472 -> 0.04419: 1.0119x smaller


### pyflate-fast ###
Min: 0.185665 -> 0.213436: 1.1496x slower
Avg: 0.191272 -> 0.215193: 1.1251x slower
Significant (t=-25.983353, a=0.95)
Stddev: 0.00577 -> 0.00302: 1.9133x smaller


### raytrace-simple ###
Min: 0.018075 -> 0.050743: 2.8074x slower
Avg: 0.018910 -> 0.051445: 2.7206x slower
Significant (t=-124.054463, a=0.95)
Stddev: 0.00120 -> 0.00142: 1.1829x larger


### richards ###
Min: 0.001887 -> 0.001873: 1.0074x faster
Avg: 0.002089 -> 0.002055: 1.0167x faster
Not significant
Stddev: 0.00044 -> 0.00044: 1.0147x smaller


### rietveld ###
Min: 0.043351 -> 0.044205: 1.0197x slower
Avg: 0.114839 -> 0.114658: 1.0016x faster
Not significant
Stddev: 0.09476 -> 0.09160: 1.0345x smaller


### scimark_fft ###
0.134479 -> -1.000000: -1

### scimark_lu ###
0.305992 -> -1.000000: -1

### scimark_montecarlo ###
0.139750 -> -1.000000: -1

### scimark_sor ###
0.225868 -> -1.000000: -1

### scimark_sparsematmult ###
0.147379 -> -1.000000: -1

### slowspitfire ###
Min: 0.151334 -> 0.152800: 1.0097x slower
Avg: 0.161073 -> 0.163202: 1.0132x slower
Not significant
Stddev: 0.00620 -> 0.00555: 1.1162x smaller


### spambayes ###
Min: 0.027756 -> 0.027993: 1.0085x slower
Avg: 0.048300 -> 0.046956: 1.0286x faster
Not significant
Stddev: 0.01600 -> 0.01517: 1.0543x smaller


### spectral-norm ###
Min: 0.009358 -> 0.009377: 1.0020x slower
Avg: 0.010026 -> 0.010028: 1.0002x slower
Not significant
Stddev: 0.00287 -> 0.00284: 1.0110x smaller


### spitfire ###
Min: 1.160000 -> 1.140000: 1.0175x faster
Avg: 1.198400 -> 1.178200: 1.0171x faster
Significant (t=3.149072, a=0.95)
Stddev: 0.03377 -> 0.03028: 1.1150x smaller


### spitfire_cstringio ###
Min: 0.490000 -> 0.480000: 1.0208x faster
Avg: 0.511000 -> 0.499800: 1.0224x faster
Significant (t=2.213100, a=0.95)
Stddev: 0.02435 -> 0.02622: 1.0770x larger


### sympy_expand ###
Min: 0.216114 -> 0.226401: 1.0476x slower
Avg: 0.325487 -> 0.327479: 1.0061x slower
Not significant
Stddev: 0.20156 -> 0.19519: 1.0326x smaller


### sympy_integrate ###
Min: 0.863688 -> 0.724006: 1.1929x faster
Avg: 1.298924 -> 1.175341: 1.1051x faster
Not significant
Stddev: 0.71017 -> 0.70017: 1.0143x smaller


### sympy_str ###
Min: 0.154443 -> 0.158522: 1.0264x slower
Avg: 0.302207 -> 0.309182: 1.0231x slower
Not significant
Stddev: 0.20272 -> 0.21334: 1.0524x larger


### sympy_sum ###
Min: 0.206235 -> 0.214458: 1.0399x slower
Avg: 0.291689 -> 0.296673: 1.0171x slower
Not significant
Stddev: 0.11763 -> 0.12348: 1.0497x larger


### telco ###
Min: 0.008000 -> 0.016001: 2.0001x slower
Avg: 0.014161 -> 0.021841: 1.5424x slower
Significant (t=-4.700125, a=0.95)
Stddev: 0.00908 -> 0.00715: 1.2703x smaller


### trans2_annotate ###
Raw results: [296.3] None

### trans2_rtype ###
Raw results: [593.8] None

### trans2_backendopt ###
Raw results: [81.8] None

### trans2_database ###
Raw results: [109.5] None

### trans2_source ###
Raw results: [118.0] None

### twisted_iteration ###
Min: 0.002045 -> 0.002054: 1.0042x slower
Avg: 0.002061 -> 0.002071: 1.0048x slower
Significant (t=-4.479936, a=0.95)
Stddev: 0.00001 -> 0.00001: 1.1017x smaller


### twisted_names ###
Min: 0.000726 -> 0.000764: 1.0514x slower
Avg: 0.000735 -> 0.000776: 1.0552x slower
Significant (t=-31.900206, a=0.95)
Stddev: 0.00001 -> 0.00001: 1.1643x larger


### twisted_pb ###
Min: 0.003398 -> 0.003665: 1.0786x slower
Avg: 0.003714 -> 0.003966: 1.0679x slower
Significant (t=-6.633568, a=0.95)
Stddev: 0.00022 -> 0.00016: 1.3333x smaller


### twisted_tcp ###
Min: 0.082466 -> 0.082349: 1.0014x faster
Avg: 0.084178 -> 0.083816: 1.0043x faster
Not significant
Stddev: 0.00170 -> 0.00145: 1.1724x smaller
### ai ###
Min: 0.023883 -> 0.023692: 1.0081x faster
Avg: 0.024102 -> 0.024008: 1.0039x faster
Not significant
Stddev: 0.00034 -> 0.00033: 1.0268x smaller


### bm_chameleon ###
Min: 0.007408 -> 0.009028: 1.2187x slower
Avg: 0.009830 -> 0.012773: 1.2994x slower
Significant (t=-6.177826, a=0.95)
Stddev: 0.00419 -> 0.00406: 1.0334x smaller


### bm_dulwich_log ###
Min: 0.103286 -> 0.100674: 1.0259x faster
Avg: 0.142535 -> 0.139344: 1.0229x faster
Not significant
Stddev: 0.11222 -> 0.11305: 1.0074x larger


### bm_mako ###
Min: 0.009023 -> 0.010273: 1.1385x slower
Avg: 0.011059 -> 0.012495: 1.1298x slower
Significant (t=-2.013881, a=0.95)
Stddev: 0.00354 -> 0.00359: 1.0165x larger


### chaos ###
Min: 0.003792 -> 0.003755: 1.0099x faster
Avg: 0.005160 -> 0.005149: 1.0021x faster
Not significant
Stddev: 0.00889 -> 0.00897: 1.0090x larger


### sphinx ###
Raw results: [77.5520658493] [78.3562920094]

### crypto_pyaes ###
Min: 0.024972 -> 0.024917: 1.0022x faster
Avg: 0.027624 -> 0.027582: 1.0015x faster
Not significant
Stddev: 0.01015 -> 0.01019: 1.0041x larger


### deltablue ###
Min: 0.000656 -> 0.000906: 1.3808x slower
Avg: 0.006466 -> 0.006557: 1.0140x slower
Not significant
Stddev: 0.00901 -> 0.00845: 1.0656x smaller


### django ###
Min: 0.015847 -> 0.015596: 1.0161x faster
Avg: 0.017174 -> 0.016892: 1.0167x faster
Not significant
Stddev: 0.00218 -> 0.00218: 1.0006x smaller


### eparse ###
Min: 0.176189 -> 0.182437: 1.0355x slower
Avg: 0.222830 -> 0.229030: 1.0278x slower
Not significant
Stddev: 0.04900 -> 0.04850: 1.0103x smaller


### fannkuch ###
Min: 0.091812 -> 0.092155: 1.0037x slower
Avg: 0.092707 -> 0.093207: 1.0054x slower
Not significant
Stddev: 0.00437 -> 0.00439: 1.0044x larger


### float ###
Min: 0.015223 -> 0.015089: 1.0089x faster
Avg: 0.022767 -> 0.022708: 1.0026x faster
Not significant
Stddev: 0.00609 -> 0.00617: 1.0140x larger


### genshi_text ###
Min: 0.007651 -> 0.007503: 1.0197x faster
Avg: 0.009658 -> 0.009628: 1.0031x faster
Not significant
Stddev: 0.00878 -> 0.00913: 1.0408x larger


### genshi_xml ###
Min: 0.022101 -> 0.024660: 1.1158x slower
Avg: 0.025370 -> 0.028154: 1.1097x slower
Not significant
Stddev: 0.01471 -> 0.01500: 1.0199x larger


### go ###
Min: 0.054293 -> 0.044338: 1.2245x faster
Avg: 0.082098 -> 0.062413: 1.3154x faster
Significant (t=3.986552, a=0.95)
Stddev: 0.02746 -> 0.02157: 1.2734x smaller


### hexiom2 ###
Min: 5.799802 -> 5.791338: 1.0015x faster
Avg: 6.026409 -> 6.035714: 1.0015x slower
Not significant
Stddev: 0.22891 -> 0.24686: 1.0784x larger


### html5lib ###
Min: 1.244801 -> 1.226899: 1.0146x faster
Avg: 1.704128 -> 1.653622: 1.0305x faster
Not significant
Stddev: 0.57008 -> 0.54916: 1.0381x smaller


### json_bench ###
Min: 0.402525 -> 0.426142: 1.0587x slower
Avg: 0.408857 -> 0.430575: 1.0531x slower
Significant (t=-9.744694, a=0.95)
Stddev: 0.01106 -> 0.01123: 1.0153x larger


### meteor-contest ###
Min: 0.059208 -> 0.059024: 1.0031x faster
Avg: 0.060232 -> 0.060214: 1.0003x faster
Not significant
Stddev: 0.00318 -> 0.00323: 1.0186x larger


### nbody_modified ###
Min: 0.018770 -> 0.018680: 1.0048x faster
Avg: 0.019336 -> 0.019231: 1.0054x faster
Not significant
Stddev: 0.00203 -> 0.00202: 1.0055x smaller


### pidigits ###
Min: 5.358582 -> 4.985167: 1.0749x faster
Avg: 5.380902 -> 5.005724: 1.0749x faster
Significant (t=14.099518, a=0.95)
Stddev: 0.04282 -> 0.04131: 1.0364x smaller


### pyflate-fast ###
Min: 0.186429 -> 0.213897: 1.1473x slower
Avg: 0.188376 -> 0.215966: 1.1465x slower
Significant (t=-55.643026, a=0.95)
Stddev: 0.00280 -> 0.00211: 1.3304x smaller


### raytrace-simple ###
Min: 0.017904 -> 0.024924: 1.3921x slower
Avg: 0.018745 -> 0.025592: 1.3652x slower
Significant (t=-34.649821, a=0.95)
Stddev: 0.00120 -> 0.00071: 1.6899x smaller


### richards ###
Min: 0.001859 -> 0.001879: 1.0108x slower
Avg: 0.002026 -> 0.002007: 1.0096x faster
Not significant
Stddev: 0.00043 -> 0.00043: 1.0134x larger


### rietveld ###
Min: 0.042592 -> 0.045415: 1.0663x slower
Avg: 0.112874 -> 0.115784: 1.0258x slower
Not significant
Stddev: 0.09324 -> 0.08764: 1.0640x smaller


### scimark_fft ###
0.136233 -> -1.000000: -1

### scimark_lu ###
0.305460 -> -1.000000: -1

### scimark_montecarlo ###
0.141590 -> -1.000000: -1

### scimark_sor ###
0.225836 -> -1.000000: -1

### scimark_sparsematmult ###
0.149314 -> -1.000000: -1

### slowspitfire ###
Min: 0.153071 -> 0.152174: 1.0059x faster
Avg: 0.163220 -> 0.166867: 1.0223x slower
Significant (t=-2.677061, a=0.95)
Stddev: 0.00532 -> 0.00803: 1.5087x larger


### spambayes ###
Min: 0.028488 -> 0.027426: 1.0387x faster
Avg: 0.052744 -> 0.049873: 1.0576x faster
Not significant
Stddev: 0.01536 -> 0.01530: 1.0045x smaller


### spectral-norm ###
Min: 0.009338 -> 0.009289: 1.0053x faster
Avg: 0.010012 -> 0.009947: 1.0064x faster
Not significant
Stddev: 0.00286 -> 0.00286: 1.0013x larger


### spitfire ###
Min: 1.150000 -> 1.150000: no change
Avg: 1.187400 -> 1.190200: 1.0024x slower
Not significant
Stddev: 0.03337 -> 0.03204: 1.0415x smaller


### spitfire_cstringio ###
Min: 0.540000 -> 0.520000: 1.0385x faster
Avg: 0.559400 -> 0.544800: 1.0268x faster
Significant (t=2.810196, a=0.95)
Stddev: 0.02583 -> 0.02613: 1.0117x larger


### sympy_expand ###
Min: 0.224202 -> 0.214263: 1.0464x faster
Avg: 0.315703 -> 0.322553: 1.0217x slower
Not significant
Stddev: 0.19840 -> 0.20339: 1.0252x larger


### sympy_integrate ###
Min: 0.835360 -> 0.855213: 1.0238x slower
Avg: 1.265200 -> 1.301990: 1.0291x slower
Not significant
Stddev: 0.69199 -> 0.68222: 1.0143x smaller


### sympy_str ###
Min: 0.158076 -> 0.166441: 1.0529x slower
Avg: 0.306286 -> 0.315436: 1.0299x slower
Not significant
Stddev: 0.20398 -> 0.21630: 1.0604x larger


### sympy_sum ###
Min: 0.199477 -> 0.211708: 1.0613x slower
Avg: 0.292236 -> 0.296414: 1.0143x slower
Not significant
Stddev: 0.12355 -> 0.12324: 1.0025x smaller


### telco ###
Min: 0.008000 -> 0.008000: no change
Avg: 0.013441 -> 0.013441: no change
Not significant
Stddev: 0.00931 -> 0.00899: 1.0357x smaller


### trans2_annotate ###
Raw results: [297.3] None

### trans2_rtype ###
Raw results: [605.0] None

### trans2_backendopt ###
Raw results: [83.1] None

### trans2_database ###
Raw results: [112.9] None

### trans2_source ###
Raw results: [116.6] None

### twisted_iteration ###
Min: 0.002048 -> 0.002089: 1.0203x slower
Avg: 0.002075 -> 0.002115: 1.0194x slower
Significant (t=-12.246309, a=0.95)
Stddev: 0.00002 -> 0.00001: 1.1937x smaller


### twisted_names ###
Min: 0.000725 -> 0.000708: 1.0247x faster
Avg: 0.000735 -> 0.000718: 1.0237x faster
Significant (t=13.454979, a=0.95)
Stddev: 0.00001 -> 0.00001: 1.1215x larger


### twisted_pb ###
Min: 0.003328 -> 0.003357: 1.0086x slower
Avg: 0.003669 -> 0.003640: 1.0080x faster
Not significant
Stddev: 0.00019 -> 0.00016: 1.1619x smaller


### twisted_tcp ###
Min: 0.081791 -> 0.083739: 1.0238x slower
Avg: 0.083348 -> 0.087015: 1.0440x slower
Significant (t=-9.432635, a=0.95)
Stddev: 0.00162 -> 0.00222: 1.3698x larger

### ai ###
Min: 0.023917 -> 0.024226: 1.0129x slower
Avg: 0.024064 -> 0.024386: 1.0134x slower
Significant (t=-5.215923, a=0.95)
Stddev: 0.00032 -> 0.00029: 1.0885x smaller


### bm_chameleon ###
Min: 0.007497 -> 0.007378: 1.0161x faster
Avg: 0.010038 -> 0.009876: 1.0164x faster
Not significant
Stddev: 0.00415 -> 0.00415: 1.0009x larger


### bm_dulwich_log ###
Min: 0.105978 -> 0.109689: 1.0350x slower
Avg: 0.144271 -> 0.147769: 1.0242x slower
Not significant
Stddev: 0.11168 -> 0.11125: 1.0039x smaller


### bm_mako ###
Min: 0.008896 -> 0.008730: 1.0190x faster
Avg: 0.011094 -> 0.010903: 1.0175x faster
Not significant
Stddev: 0.00372 -> 0.00365: 1.0193x smaller


### chaos ###
Min: 0.003693 -> 0.003763: 1.0190x slower
Avg: 0.005095 -> 0.005169: 1.0146x slower
Not significant
Stddev: 0.00900 -> 0.00910: 1.0113x larger


### sphinx ###
Raw results: [78.4002809525] [77.5027208328]

### crypto_pyaes ###
Min: 0.025048 -> 0.024925: 1.0049x faster
Avg: 0.027692 -> 0.027490: 1.0073x faster
Not significant
Stddev: 0.01008 -> 0.01002: 1.0055x smaller


### deltablue ###
Min: 0.000682 -> 0.000665: 1.0255x faster
Avg: 0.006535 -> 0.006583: 1.0073x slower
Not significant
Stddev: 0.00902 -> 0.00912: 1.0106x larger


### django ###
Min: 0.016845 -> 0.015642: 1.0769x faster
Avg: 0.018176 -> 0.016943: 1.0728x faster
Significant (t=2.813002, a=0.95)
Stddev: 0.00225 -> 0.00214: 1.0519x smaller


### eparse ###
Min: 0.186282 -> 0.188626: 1.0126x slower
Avg: 0.227064 -> 0.228694: 1.0072x slower
Not significant
Stddev: 0.04855 -> 0.04853: 1.0004x smaller


### fannkuch ###
Min: 0.092230 -> 0.093653: 1.0154x slower
Avg: 0.093131 -> 0.094608: 1.0159x slower
Not significant
Stddev: 0.00437 -> 0.00439: 1.0028x larger


### float ###
Min: 0.015930 -> 0.015764: 1.0105x faster
Avg: 0.023582 -> 0.023495: 1.0037x faster
Not significant
Stddev: 0.00617 -> 0.00618: 1.0022x larger


### genshi_text ###
Min: 0.007442 -> 0.007406: 1.0049x faster
Avg: 0.009456 -> 0.009357: 1.0106x faster
Not significant
Stddev: 0.00878 -> 0.00890: 1.0131x larger


### genshi_xml ###
Min: 0.022542 -> 0.023450: 1.0403x slower
Avg: 0.025766 -> 0.026843: 1.0418x slower
Not significant
Stddev: 0.01495 -> 0.01482: 1.0089x smaller


### go ###
Min: 0.056117 -> 0.049464: 1.1345x faster
Avg: 0.080922 -> 0.068242: 1.1858x faster
Significant (t=2.939745, a=0.95)
Stddev: 0.02612 -> 0.01576: 1.6576x smaller


### hexiom2 ###
Min: 5.785369 -> 5.858442: 1.0126x slower
Avg: 6.014472 -> 6.099259: 1.0141x slower
Not significant
Stddev: 0.23143 -> 0.24326: 1.0511x larger


### html5lib ###
Min: 1.237429 -> 1.285687: 1.0390x slower
Avg: 1.653288 -> 1.719167: 1.0398x slower
Not significant
Stddev: 0.53921 -> 0.54721: 1.0148x larger


### json_bench ###
Min: 0.402597 -> 0.399106: 1.0087x faster
Avg: 0.408401 -> 0.403247: 1.0128x faster
Significant (t=2.262900, a=0.95)
Stddev: 0.01175 -> 0.01102: 1.0665x smaller


### meteor-contest ###
Min: 0.059306 -> 0.059382: 1.0013x slower
Avg: 0.060412 -> 0.060674: 1.0043x slower
Not significant
Stddev: 0.00317 -> 0.00324: 1.0238x larger


### nbody_modified ###
Min: 0.018762 -> 0.018587: 1.0094x faster
Avg: 0.019270 -> 0.019129: 1.0074x faster
Not significant
Stddev: 0.00200 -> 0.00203: 1.0125x larger


### pidigits ###
Min: 5.394168 -> 5.105118: 1.0566x faster
Avg: 5.415438 -> 5.125833: 1.0565x faster
Significant (t=11.121185, a=0.95)
Stddev: 0.04079 -> 0.04155: 1.0186x larger


### pyflate-fast ###
Min: 0.187713 -> 0.187266: 1.0024x faster
Avg: 0.189677 -> 0.189938: 1.0014x slower
Not significant
Stddev: 0.00297 -> 0.00309: 1.0401x larger


### raytrace-simple ###
Min: 0.018063 -> 0.018088: 1.0014x slower
Avg: 0.018894 -> 0.018949: 1.0029x slower
Not significant
Stddev: 0.00125 -> 0.00115: 1.0834x smaller


### richards ###
Min: 0.001877 -> 0.001877: no change
Avg: 0.002013 -> 0.002014: 1.0007x slower
Not significant
Stddev: 0.00046 -> 0.00045: 1.0394x smaller


### rietveld ###
Min: 0.042445 -> 0.042944: 1.0118x slower
Avg: 0.114897 -> 0.114120: 1.0068x faster
Not significant
Stddev: 0.09465 -> 0.09446: 1.0021x smaller


### scimark_fft ###
0.133715 -> -1.000000: -1

### scimark_lu ###
0.300824 -> -1.000000: -1

### scimark_montecarlo ###
0.140648 -> -1.000000: -1

### scimark_sor ###
0.225912 -> -1.000000: -1

### scimark_sparsematmult ###
0.149313 -> -1.000000: -1

### slowspitfire ###
Min: 0.151268 -> 0.151540: 1.0018x slower
Avg: 0.161153 -> 0.160559: 1.0037x faster
Not significant
Stddev: 0.00626 -> 0.00589: 1.0629x smaller


### spambayes ###
Min: 0.028285 -> 0.027390: 1.0327x faster
Avg: 0.052711 -> 0.048411: 1.0888x faster
Not significant
Stddev: 0.01551 -> 0.01610: 1.0378x larger


### spectral-norm ###
Min: 0.009358 -> 0.009379: 1.0022x slower
Avg: 0.010043 -> 0.010044: 1.0001x slower
Not significant
Stddev: 0.00287 -> 0.00288: 1.0033x larger


### spitfire ###
Min: 1.140000 -> 1.170000: 1.0263x slower
Avg: 1.182600 -> 1.204400: 1.0184x slower
Significant (t=-3.422626, a=0.95)
Stddev: 0.03256 -> 0.03111: 1.0467x smaller


### spitfire_cstringio ###
Min: 0.400000 -> 0.490000: 1.2250x slower
Avg: 0.421600 -> 0.514600: 1.2206x slower
Significant (t=-19.295518, a=0.95)
Stddev: 0.02333 -> 0.02484: 1.0648x larger


### sympy_expand ###
Min: 0.213237 -> 0.214561: 1.0062x slower
Avg: 0.324671 -> 0.326383: 1.0053x slower
Not significant
Stddev: 0.20330 -> 0.20373: 1.0021x larger


### sympy_integrate ###
Min: 0.861252 -> 0.771418: 1.1165x faster
Avg: 1.295300 -> 1.231274: 1.0520x faster
Not significant
Stddev: 0.70704 -> 0.70340: 1.0052x smaller


### sympy_str ###
Min: 0.157927 -> 0.160802: 1.0182x slower
Avg: 0.305096 -> 0.305706: 1.0020x slower
Not significant
Stddev: 0.20053 -> 0.20028: 1.0012x smaller


### sympy_sum ###
Min: 0.206980 -> 0.211585: 1.0222x slower
Avg: 0.293323 -> 0.297996: 1.0159x slower
Not significant
Stddev: 0.12204 -> 0.12069: 1.0112x smaller


### telco ###
Min: 0.008000 -> 0.008000: no change
Avg: 0.013761 -> 0.014081: 1.0233x slower
Not significant
Stddev: 0.00897 -> 0.00901: 1.0044x larger


### trans2_annotate ###
Raw results: [285.6] None

### trans2_rtype ###
Raw results: [632.3] None

### trans2_backendopt ###
Raw results: [82.2] None

### trans2_database ###
Raw results: [114.2] None

### trans2_source ###
Raw results: [121.6] None

### twisted_iteration ###
Min: 0.002044 -> 0.002047: 1.0013x slower
Avg: 0.002063 -> 0.002064: 1.0006x slower
Not significant
Stddev: 0.00001 -> 0.00001: 1.1070x larger


### twisted_names ###
Min: 0.000731 -> 0.000719: 1.0171x faster
Avg: 0.000741 -> 0.000731: 1.0136x faster
Significant (t=7.793531, a=0.95)
Stddev: 0.00001 -> 0.00001: 1.0432x smaller


### twisted_pb ###
Min: 0.003384 -> 0.003489: 1.0309x slower
Avg: 0.003645 -> 0.003819: 1.0477x slower
Significant (t=-5.022045, a=0.95)
Stddev: 0.00015 -> 0.00020: 1.3186x larger


### twisted_tcp ###
Min: 0.085805 -> 0.082353: 1.0419x faster
Avg: 0.087671 -> 0.083905: 1.0449x faster
Significant (t=11.604523, a=0.95)
Stddev: 0.00163 -> 0.00162: 1.0033x smaller

### ai ###
Min: 0.023829 -> 0.023632: 1.0083x faster
Avg: 0.024003 -> 0.023850: 1.0064x faster
Significant (t=2.400409, a=0.95)
Stddev: 0.00031 -> 0.00033: 1.0729x larger


### bm_chameleon ###
Min: 0.007460 -> 0.007549: 1.0119x slower
Avg: 0.009940 -> 0.010032: 1.0093x slower
Not significant
Stddev: 0.00414 -> 0.00417: 1.0057x larger


### bm_dulwich_log ###
Min: 0.108187 -> 0.105768: 1.0229x faster
Avg: 0.146484 -> 0.144371: 1.0146x faster
Not significant
Stddev: 0.11170 -> 0.11066: 1.0094x smaller


### bm_mako ###
Min: 0.008846 -> 0.008903: 1.0064x slower
Avg: 0.010970 -> 0.011081: 1.0101x slower
Not significant
Stddev: 0.00357 -> 0.00355: 1.0058x smaller


### chaos ###
Min: 0.003697 -> 0.003737: 1.0109x slower
Avg: 0.005094 -> 0.005151: 1.0111x slower
Not significant
Stddev: 0.00888 -> 0.00911: 1.0260x larger


### sphinx ###
Raw results: [78.9604752064] [74.3792219162]

### crypto_pyaes ###
Min: 0.024770 -> 0.024693: 1.0031x faster
Avg: 0.027501 -> 0.027404: 1.0035x faster
Not significant
Stddev: 0.01004 -> 0.01013: 1.0089x larger


### deltablue ###
Min: 0.000669 -> 0.000681: 1.0178x slower
Avg: 0.006649 -> 0.006617: 1.0049x faster
Not significant
Stddev: 0.00922 -> 0.00917: 1.0050x smaller


### django ###
Min: 0.015834 -> 0.015616: 1.0140x faster
Avg: 0.017296 -> 0.017001: 1.0173x faster
Not significant
Stddev: 0.00230 -> 0.00224: 1.0289x smaller


### eparse ###
Min: 0.181033 -> 0.176031: 1.0284x faster
Avg: 0.224494 -> 0.223065: 1.0064x faster
Not significant
Stddev: 0.04944 -> 0.05042: 1.0197x larger


### fannkuch ###
Min: 0.092375 -> 0.093036: 1.0072x slower
Avg: 0.093316 -> 0.093966: 1.0070x slower
Not significant
Stddev: 0.00436 -> 0.00446: 1.0234x larger


### float ###
Min: 0.015118 -> 0.015959: 1.0556x slower
Avg: 0.022721 -> 0.023674: 1.0419x slower
Not significant
Stddev: 0.00612 -> 0.00622: 1.0162x larger


### genshi_text ###
Min: 0.007559 -> 0.007537: 1.0029x faster
Avg: 0.009615 -> 0.009507: 1.0114x faster
Not significant
Stddev: 0.00890 -> 0.00887: 1.0035x smaller


### genshi_xml ###
Min: 0.023032 -> 0.023132: 1.0043x slower
Avg: 0.026363 -> 0.026608: 1.0093x slower
Not significant
Stddev: 0.01486 -> 0.01503: 1.0115x larger


### go ###
Min: 0.054099 -> 0.047412: 1.1410x faster
Avg: 0.083018 -> 0.073164: 1.1347x faster
Not significant
Stddev: 0.02759 -> 0.02562: 1.0772x smaller


### hexiom2 ###
Min: 5.791835 -> 5.827246: 1.0061x slower
Avg: 6.022151 -> 6.058549: 1.0060x slower
Not significant
Stddev: 0.23265 -> 0.23365: 1.0043x larger


### html5lib ###
Min: 1.223819 -> 1.200750: 1.0192x faster
Avg: 1.638997 -> 1.682524: 1.0266x slower
Not significant
Stddev: 0.53759 -> 0.57438: 1.0684x larger


### json_bench ###
Min: 0.404723 -> 0.404303: 1.0010x faster
Avg: 0.409006 -> 0.408657: 1.0009x faster
Not significant
Stddev: 0.01094 -> 0.01136: 1.0388x larger


### meteor-contest ###
Min: 0.059269 -> 0.058557: 1.0122x faster
Avg: 0.060447 -> 0.059726: 1.0121x faster
Not significant
Stddev: 0.00318 -> 0.00324: 1.0200x larger


### nbody_modified ###
Min: 0.018903 -> 0.018290: 1.0335x faster
Avg: 0.019407 -> 0.018800: 1.0323x faster
Not significant
Stddev: 0.00200 -> 0.00203: 1.0171x larger


### pidigits ###
Min: 5.362328 -> 5.104557: 1.0505x faster
Avg: 5.384472 -> 5.125910: 1.0504x faster
Significant (t=9.835787, a=0.95)
Stddev: 0.04288 -> 0.04021: 1.0663x smaller


### pyflate-fast ###
Min: 0.187195 -> 0.187777: 1.0031x slower
Avg: 0.189842 -> 0.190292: 1.0024x slower
Not significant
Stddev: 0.00232 -> 0.00282: 1.2171x larger


### raytrace-simple ###
Min: 0.018084 -> 0.018125: 1.0023x slower
Avg: 0.019183 -> 0.018926: 1.0136x faster
Not significant
Stddev: 0.00203 -> 0.00114: 1.7810x smaller


### richards ###
Min: 0.001875 -> 0.001858: 1.0091x faster
Avg: 0.002055 -> 0.001983: 1.0366x faster
Not significant
Stddev: 0.00042 -> 0.00044: 1.0505x larger


### rietveld ###
Min: 0.043779 -> 0.042596: 1.0278x faster
Avg: 0.116975 -> 0.113526: 1.0304x faster
Not significant
Stddev: 0.09618 -> 0.09382: 1.0252x smaller


### scimark_fft ###
0.133822 -> -1.000000: -1

### scimark_lu ###
0.302480 -> -1.000000: -1

### scimark_montecarlo ###
0.141413 -> -1.000000: -1

### scimark_sor ###
0.226131 -> -1.000000: -1

### scimark_sparsematmult ###
0.147616 -> -1.000000: -1

### slowspitfire ###
Min: 0.151880 -> 0.151957: 1.0005x slower
Avg: 0.162099 -> 0.162365: 1.0016x slower
Not significant
Stddev: 0.00540 -> 0.00552: 1.0231x larger


### spambayes ###
Min: 0.027543 -> 0.027913: 1.0134x slower
Avg: 0.046907 -> 0.047533: 1.0134x slower
Not significant
Stddev: 0.01568 -> 0.01523: 1.0298x smaller


### spectral-norm ###
Min: 0.009342 -> 0.009278: 1.0069x faster
Avg: 0.010035 -> 0.009935: 1.0100x faster
Not significant
Stddev: 0.00284 -> 0.00288: 1.0136x larger


### spitfire ###
Min: 1.140000 -> 1.120000: 1.0179x faster
Avg: 1.174400 -> 1.161200: 1.0114x faster
Significant (t=2.175956, a=0.95)
Stddev: 0.03011 -> 0.03055: 1.0145x larger


### spitfire_cstringio ###
Min: 0.420000 -> 0.390000: 1.0769x faster
Avg: 0.438600 -> 0.412600: 1.0630x faster
Significant (t=5.469437, a=0.95)
Stddev: 0.02339 -> 0.02414: 1.0323x larger


### sympy_expand ###
Min: 0.212689 -> 0.214927: 1.0105x slower
Avg: 0.324190 -> 0.322393: 1.0056x faster
Not significant
Stddev: 0.20323 -> 0.19896: 1.0215x smaller


### sympy_integrate ###
Min: 0.827287 -> 0.740015: 1.1179x faster
Avg: 1.276936 -> 1.232548: 1.0360x faster
Not significant
Stddev: 0.74238 -> 0.73077: 1.0159x smaller


### sympy_str ###
Min: 0.158311 -> 0.157475: 1.0053x faster
Avg: 0.303297 -> 0.307362: 1.0134x slower
Not significant
Stddev: 0.20213 -> 0.20610: 1.0197x larger


### sympy_sum ###
Min: 0.199854 -> 0.231293: 1.1573x slower
Avg: 0.290365 -> 0.307076: 1.0575x slower
Not significant
Stddev: 0.12262 -> 0.11703: 1.0477x smaller


### telco ###
Min: 0.008000 -> 0.008000: no change
Avg: 0.013761 -> 0.013681: 1.0058x faster
Not significant
Stddev: 0.00890 -> 0.00897: 1.0079x larger


### trans2_annotate ###
Raw results: [298.1] None

### trans2_rtype ###
Raw results: [626.3] None

### trans2_backendopt ###
Raw results: [82.3] None

### trans2_database ###
Raw results: [113.8] None

### trans2_source ###
Raw results: [118.6] None

### twisted_iteration ###
Min: 0.002048 -> 0.002035: 1.0064x faster
Avg: 0.002062 -> 0.002048: 1.0068x faster
Significant (t=7.056602, a=0.95)
Stddev: 0.00001 -> 0.00001: 1.0306x smaller


### twisted_names ###
Min: 0.000738 -> 0.000702: 1.0515x faster
Avg: 0.000748 -> 0.000710: 1.0528x faster
Significant (t=32.935112, a=0.95)
Stddev: 0.00001 -> 0.00001: 1.0987x smaller


### twisted_pb ###
Min: 0.003419 -> 0.003405: 1.0041x faster
Avg: 0.003723 -> 0.003762: 1.0105x slower
Not significant
Stddev: 0.00015 -> 0.00019: 1.2125x larger


### twisted_tcp ###
Min: 0.083069 -> 0.084500: 1.0172x slower
Avg: 0.084602 -> 0.085989: 1.0164x slower
Significant (t=-4.166700, a=0.95)
Stddev: 0.00164 -> 0.00169: 1.0357x larger

_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to