I ran the python performance suite (not our benchmark suite) 3 times for pypy2, pypy3 v7.0 and pypy3 unicode-utf8
for i in seq 1 3; do pyperformance run --python=$python -o $prefix$i.json; done
python -mperf compare_to pypy3_1.json pypy2_1.json pypy3utf8*.json--min-speed 5 --table
Benchmark | pypy2_1 | pypy3utf8_1 | pypy3utf8_2 | pypy3utf8_3 |
---|---|---|---|---|
2to3 | 896 ms | 1.36 sec: 1.52x slower (+52%) | 1.36 sec: 1.52x slower (+52%) | 1.36 sec: 1.51x slower (+51%) |
chameleon | 3.85 ms | not significant | 3.62 ms: 1.06x faster (-6%) | 3.65 ms: 1.05x faster (-5%) |
chaos | 3.27 ms | 4.32 ms: 1.32x slower (+32%) | 4.32 ms: 1.32x slower (+32%) | 4.30 ms: 1.31x slower (+31%) |
crypto_pyaes | 5.62 ms | 3.19 ms: 1.76x faster (-43%) | 3.35 ms: 1.68x faster (-40%) | 3.26 ms: 1.72x faster (-42%) |
deltablue | 217 us | 281 us: 1.30x slower (+30%) | 281 us: 1.30x slower (+30%) | 282 us: 1.30x slower (+30%) |
django_template | 17.0 ms | 33.1 ms: 1.95x slower (+95%) | 33.3 ms: 1.96x slower (+96%) | 32.4 ms: 1.91x slower (+91%) |
go | 41.8 ms | 34.5 ms: 1.21x faster (-17%) | 34.4 ms: 1.22x faster (-18%) | 35.5 ms: 1.18x faster (-15%) |
hexiom | 1.22 ms | 1.33 ms: 1.09x slower (+9%) | 1.32 ms: 1.09x slower (+9%) | 1.33 ms: 1.09x slower (+9%) |
json_dumps | 3.70 ms | 4.32 ms: 1.17x slower (+17%) | 4.32 ms: 1.17x slower (+17%) | 4.30 ms: 1.16x slower (+16%) |
json_loads | 12.2 us | 13.6 us: 1.11x slower (+11%) | 13.7 us: 1.12x slower (+12%) | 13.6 us: 1.11x slower (+11%) |
logging_format | 2.09 us | 8.33 us: 3.99x slower (+299%) | 8.42 us: 4.03x slower (+303%) | 8.26 us: 3.95x slower (+295%) |
logging_simple | 1.46 us | 6.35 us: 4.35x slower (+335%) | 6.31 us: 4.32x slower (+332%) | 6.67 us: 4.56x slower (+356%) |
meteor_contest | 42.8 ms | not significant | 45.3 ms: 1.06x slower (+6%) | 45.2 ms: 1.06x slower (+6%) |
nqueens | 17.9 ms | 20.1 ms: 1.12x slower (+12%) | 20.1 ms: 1.12x slower (+12%) | 20.1 ms: 1.12x slower (+12%) |
pathlib | 17.4 ms | 11.6 ms: 1.50x faster (-33%) | 11.7 ms: 1.48x faster (-33%) | 11.6 ms: 1.50x faster (-33%) |
pickle | 30.7 us | 47.2 us: 1.54x slower (+54%) | 47.1 us: 1.53x slower (+53%) | 46.8 us: 1.53x slower (+53%) |
pickle_dict | 145 us | 265 us: 1.83x slower (+83%) | 265 us: 1.83x slower (+83%) | 267 us: 1.85x slower (+85%) |
pickle_list | 20.6 us | 31.6 us: 1.53x slower (+53%) | 31.2 us: 1.52x slower (+52%) | 31.8 us: 1.54x slower (+54%) |
pickle_pure_python | 30.5 us | 47.1 us: 1.54x slower (+54%) | 47.2 us: 1.55x slower (+55%) | 47.9 us: 1.57x slower (+57%) |
pidigits | 136 ms | 148 ms: 1.09x slower (+9%) | 148 ms: 1.09x slower (+9%) | 148 ms: 1.09x slower (+9%) |
python_startup | 13.8 ms | 25.0 ms: 1.81x slower (+81%) | 25.0 ms: 1.81x slower (+81%) | 25.0 ms: 1.81x slower (+81%) |
python_startup_no_site | 12.9 ms | 17.3 ms: 1.34x slower (+34%) | 17.3 ms: 1.34x slower (+34%) | 17.4 ms: 1.35x slower (+35%) |
raytrace | 7.38 ms | 8.20 ms: 1.11x slower (+11%) | 8.18 ms: 1.11x slower (+11%) | 8.11 ms: 1.10x slower (+10%) |
regex_compile | 29.1 ms | 25.8 ms: 1.13x faster (-11%) | 25.4 ms: 1.15x faster (-13%) | 25.6 ms: 1.14x faster (-12%) |
regex_effbot | 1.51 ms | 2.03 ms: 1.34x slower (+34%) | 2.02 ms: 1.34x slower (+34%) | 2.02 ms: 1.34x slower (+34%) |
regex_v8 | 10.4 ms | 15.1 ms: 1.45x slower (+45%) | 15.2 ms: 1.46x slower (+46%) | 15.2 ms: 1.46x slower (+46%) |
scimark_fft | 6.25 ms | 5.91 ms: 1.06x faster (-5%) | 5.88 ms: 1.06x faster (-6%) | 5.88 ms: 1.06x faster (-6%) |
sympy_expand | 103 ms | 121 ms: 1.17x slower (+17%) | 119 ms: 1.15x slower (+15%) | 119 ms: 1.16x slower (+16%) |
sympy_integrate | 16.4 ms | 21.7 ms: 1.33x slower (+33%) | 26.6 ms: 1.62x slower (+62%) | 24.5 ms: 1.50x slower (+50%) |
sympy_sum | 51.0 ms | 72.5 ms: 1.42x slower (+42%) | 69.6 ms: 1.36x slower (+36%) | 70.9 ms: 1.39x slower (+39%) |
sympy_str | 49.9 ms | 66.3 ms: 1.33x slower (+33%) | 66.1 ms: 1.32x slower (+32%) | 66.4 ms: 1.33x slower (+33%) |
telco | 8.43 ms | 60.4 ms: 7.17x slower (+617%) | 60.3 ms: 7.15x slower (+615%) | 60.1 ms: 7.13x slower (+613%) |
tornado_http | 139 ms | 149 ms: 1.07x slower (+7%) | 152 ms: 1.10x slower (+10%) | 152 ms: 1.09x slower (+9%) |
unpack_sequence | 109 ns | 88.6 ns: 1.23x faster (-19%) | 88.3 ns: 1.23x faster (-19%) | 88.0 ns: 1.24x faster (-19%) |
unpickle | 28.0 us | 35.3 us: 1.26x slower (+26%) | 35.2 us: 1.25x slower (+25%) | 35.2 us: 1.26x slower (+26%) |
unpickle_list | 10.9 us | 14.4 us: 1.32x slower (+32%) | 14.2 us: 1.30x slower (+30%) | 14.4 us: 1.32x slower (+32%) |
unpickle_pure_python | 28.3 us | 34.9 us: 1.23x slower (+23%) | 35.1 us: 1.24x slower (+24%) | 35.0 us: 1.23x slower (+23%) |
Not significant (14): dulwich_log; fannkuch; float; html5lib; logging_silent; nbody; regex_dna; scimark_lu; scimark_monte_carlo; scimark_sor; scimark_sparse_mat_mult; spectral_norm; sqlalchemy_imperative; sqlite_synth Ignored benchmarks (11) of pypy2_1.json: genshi_text, genshi_xml, hg_startup, mako, pyflate, spambayes, sqlalchemy_declarative, xml_etree_generate, xml_etree_iterparse, xml_etree_parse, xml_etree_process Ignored benchmarks (5) of pypy3utf8_1.json: sqlalchemy_declarative, xml_etree_pure_python_generate, xml_etree_pure_python_iterparse, xml_etree_pure_python_parse, xml_etree_pure_python_process Ignored benchmarks (5) of pypy3utf8_2.json: sqlalchemy_declarative, xml_etree_pure_python_generate, xml_etree_pure_python_iterparse, xml_etree_pure_python_parse, xml_etree_pure_python_process Ignored benchmarks (6) of pypy3utf8_3.json: genshi_text, genshi_xml, xml_etree_pure_python_generate, xml_etree_pure_python_iterparse, xml_etree_pure_python_parse, xml_etree_pure_python_process