Created
January 27, 2016 16:51
-
-
Save 1st1/aed69d63a2ff4de4c7be to your computer and use it in GitHub Desktop.
Caching in ceval + LOAD_METHOD
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
yury@ares ~/benchmarks $ uname -a | |
Linux ares.sprymix.net 4.1.2 #10 SMP Fri Jul 10 19:14:52 EDT 2015 x86_64 Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz GenuineIntel GNU/Linux | |
yury@ares ~/benchmarks $ ../tmp/cpython/python -c 'import sys; print(sys.version)' | |
3.6.0a0 (default, Jan 26 2016, 19:04:11) | |
[GCC 4.9.3] | |
yury@ares ~/benchmarks $ cat /proc/meminfo | grep MemTotal | |
MemTotal: 65948368 kB | |
yury@ares ~/benchmarks $ python3.5 perf.py -b all ../test2/cpython/python ../tmp/cpython/python -r | |
INFO:root:Automatically selected timer: perf_counter | |
INFO:root:Skipping benchmark pybench; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark slowspitfire; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark rietveld; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark slowpickle; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark html5lib; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark slowunpickle; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark spambayes; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark bzr_startup; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark hg_startup; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark html5lib_warmup; not compatible with Python 3.6 | |
[ 1/43] 2to3... | |
INFO:root:Running `../tmp/cpython/python lib3/2to3/2to3 -f all lib/2to3` | |
INFO:root:Running `../tmp/cpython/python lib3/2to3/2to3 -f all lib/2to3` 5 times | |
INFO:root:Running `../test2/cpython/python lib3/2to3/2to3 -f all lib/2to3` | |
INFO:root:Running `../test2/cpython/python lib3/2to3/2to3 -f all lib/2to3` 5 times | |
[ 2/43] call_method... | |
INFO:root:Running `../tmp/cpython/python performance/bm_call_method.py -n 300 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_call_method.py -n 300 --timer perf_counter` | |
[ 3/43] call_method_slots... | |
INFO:root:Running `../tmp/cpython/python performance/bm_call_method_slots.py -n 300 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_call_method_slots.py -n 300 --timer perf_counter` | |
[ 4/43] call_method_unknown... | |
INFO:root:Running `../tmp/cpython/python performance/bm_call_method_unknown.py -n 300 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_call_method_unknown.py -n 300 --timer perf_counter` | |
[ 5/43] call_simple... | |
INFO:root:Running `../tmp/cpython/python performance/bm_call_simple.py -n 300 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_call_simple.py -n 300 --timer perf_counter` | |
[ 6/43] chameleon_v2... | |
INFO:root:Running `../tmp/cpython/python performance/bm_chameleon_v2.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_chameleon_v2.py -n 100 --timer perf_counter` | |
[ 7/43] chaos... | |
INFO:root:Running `../tmp/cpython/python performance/bm_chaos.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_chaos.py -n 100 --timer perf_counter` | |
[ 8/43] django_v3... | |
INFO:root:Running `../tmp/cpython/python performance/bm_django_v3.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_django_v3.py -n 100 --timer perf_counter` | |
[ 9/43] etree_generate... | |
INFO:root:Running `../tmp/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter generate` | |
INFO:root:Running `../test2/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter generate` | |
[10/43] etree_iterparse... | |
INFO:root:Running `../tmp/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter iterparse` | |
INFO:root:Running `../test2/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter iterparse` | |
[11/43] etree_parse... | |
INFO:root:Running `../tmp/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter parse` | |
INFO:root:Running `../test2/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter parse` | |
[12/43] etree_process... | |
INFO:root:Running `../tmp/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter process` | |
INFO:root:Running `../test2/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter process` | |
[13/43] fannkuch... | |
INFO:root:Running `../tmp/cpython/python performance/bm_fannkuch.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_fannkuch.py -n 100 --timer perf_counter` | |
[14/43] fastpickle... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle` | |
INFO:root:Running `../test2/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle` | |
[15/43] fastunpickle... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle` | |
INFO:root:Running `../test2/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle` | |
[16/43] float... | |
INFO:root:Running `../tmp/cpython/python performance/bm_float.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_float.py -n 100 --timer perf_counter` | |
[17/43] formatted_logging... | |
INFO:root:Running `../tmp/cpython/python performance/bm_logging.py -n 100 --timer perf_counter formatted_output` | |
INFO:root:Running `../test2/cpython/python performance/bm_logging.py -n 100 --timer perf_counter formatted_output` | |
[18/43] go... | |
INFO:root:Running `../tmp/cpython/python performance/bm_go.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_go.py -n 100 --timer perf_counter` | |
[19/43] hexiom2... | |
INFO:root:Running `../tmp/cpython/python performance/bm_hexiom2.py -n 4 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_hexiom2.py -n 4 --timer perf_counter` | |
[20/43] json_dump_v2... | |
INFO:root:Running `../tmp/cpython/python performance/bm_json_v2.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_json_v2.py -n 100 --timer perf_counter` | |
[21/43] json_load... | |
INFO:root:Running `../tmp/cpython/python performance/bm_json.py -n 100 --timer perf_counter json_load` | |
INFO:root:Running `../test2/cpython/python performance/bm_json.py -n 100 --timer perf_counter json_load` | |
[22/43] mako_v2... | |
INFO:root:Running `../tmp/cpython/python performance/bm_mako_v2.py -n 1000 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_mako_v2.py -n 1000 --timer perf_counter` | |
[23/43] meteor_contest... | |
INFO:root:Running `../tmp/cpython/python performance/bm_meteor_contest.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_meteor_contest.py -n 100 --timer perf_counter` | |
[24/43] nbody... | |
INFO:root:Running `../tmp/cpython/python performance/bm_nbody.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_nbody.py -n 100 --timer perf_counter` | |
[25/43] normal_startup... | |
INFO:root:Running `../tmp/cpython/python -c ` 2000 times | |
INFO:root:Running `../test2/cpython/python -c ` 2000 times | |
[26/43] nqueens... | |
INFO:root:Running `../tmp/cpython/python performance/bm_nqueens.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_nqueens.py -n 100 --timer perf_counter` | |
[27/43] pathlib... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pathlib.py -n 1000 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_pathlib.py -n 1000 --timer perf_counter` | |
[28/43] pickle_dict... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_dict` | |
INFO:root:Running `../test2/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_dict` | |
[29/43] pickle_list... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_list` | |
INFO:root:Running `../test2/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_list` | |
[30/43] pidigits... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pidigits.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_pidigits.py -n 100 --timer perf_counter` | |
[31/43] raytrace... | |
INFO:root:Running `../tmp/cpython/python performance/bm_raytrace.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_raytrace.py -n 100 --timer perf_counter` | |
[32/43] regex_compile... | |
INFO:root:Running `../tmp/cpython/python performance/bm_regex_compile.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_regex_compile.py -n 100 --timer perf_counter` | |
[33/43] regex_effbot... | |
INFO:root:Running `../tmp/cpython/python performance/bm_regex_effbot.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_regex_effbot.py -n 100 --timer perf_counter` | |
[34/43] regex_v8... | |
INFO:root:Running `../tmp/cpython/python performance/bm_regex_v8.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_regex_v8.py -n 100 --timer perf_counter` | |
[35/43] richards... | |
INFO:root:Running `../tmp/cpython/python performance/bm_richards.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_richards.py -n 100 --timer perf_counter` | |
[36/43] silent_logging... | |
INFO:root:Running `../tmp/cpython/python performance/bm_logging.py -n 100 --timer perf_counter no_output` | |
INFO:root:Running `../test2/cpython/python performance/bm_logging.py -n 100 --timer perf_counter no_output` | |
[37/43] simple_logging... | |
INFO:root:Running `../tmp/cpython/python performance/bm_logging.py -n 100 --timer perf_counter simple_output` | |
INFO:root:Running `../test2/cpython/python performance/bm_logging.py -n 100 --timer perf_counter simple_output` | |
[38/43] spectral_norm... | |
INFO:root:Running `../tmp/cpython/python performance/bm_spectral_norm.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_spectral_norm.py -n 100 --timer perf_counter` | |
[39/43] startup_nosite... | |
INFO:root:Running `../tmp/cpython/python -S -c ` 4000 times | |
INFO:root:Running `../test2/cpython/python -S -c ` 4000 times | |
[40/43] telco... | |
INFO:root:Running `../tmp/cpython/python performance/bm_telco.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_telco.py -n 100 --timer perf_counter` | |
[41/43] tornado_http... | |
INFO:root:Running `../tmp/cpython/python performance/bm_tornado_http.py -n 200 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_tornado_http.py -n 200 --timer perf_counter` | |
[42/43] unpack_sequence... | |
INFO:root:Running `../tmp/cpython/python performance/bm_unpack_sequence.py -n 100000 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_unpack_sequence.py -n 100000 --timer perf_counter` | |
[43/43] unpickle_list... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle_list` | |
INFO:root:Running `../test2/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle_list` | |
Report on Linux ares.sprymix.net 4.1.2 #10 SMP Fri Jul 10 19:14:52 EDT 2015 x86_64 Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz | |
Total CPU cores: 8 | |
### 2to3 ### | |
Min: 6.016000 -> 5.848000: 1.03x faster | |
Avg: 6.055200 -> 5.913600: 1.02x faster | |
Significant (t=3.53) | |
Stddev: 0.03627 -> 0.08200: 2.2612x larger | |
### call_method ### | |
Min: 0.262379 -> 0.209124: 1.25x faster | |
Avg: 0.263642 -> 0.210208: 1.25x faster | |
Significant (t=248.27) | |
Stddev: 0.00295 -> 0.00228: 1.2979x smaller | |
### call_method_slots ### | |
Min: 0.253497 -> 0.205658: 1.23x faster | |
Avg: 0.256810 -> 0.208024: 1.23x faster | |
Significant (t=48.13) | |
Stddev: 0.01516 -> 0.00885: 1.7125x smaller | |
### call_method_unknown ### | |
Min: 0.260457 -> 0.236897: 1.10x faster | |
Avg: 0.267405 -> 0.243623: 1.10x faster | |
Significant (t=11.03) | |
Stddev: 0.02954 -> 0.02287: 1.2918x smaller | |
### call_simple ### | |
Min: 0.199613 -> 0.189236: 1.05x faster | |
Avg: 0.206654 -> 0.196612: 1.05x faster | |
Significant (t=3.70) | |
Stddev: 0.03504 -> 0.03131: 1.1191x smaller | |
### chameleon_v2 ### | |
Min: 4.918281 -> 4.413880: 1.11x faster | |
Avg: 4.982994 -> 4.518044: 1.10x faster | |
Significant (t=14.79) | |
Stddev: 0.15774 -> 0.27199: 1.7243x larger | |
### chaos ### | |
Min: 0.259579 -> 0.251606: 1.03x faster | |
Avg: 0.261906 -> 0.254772: 1.03x faster | |
Significant (t=12.80) | |
Stddev: 0.00330 -> 0.00449: 1.3615x larger | |
### django_v3 ### | |
Min: 0.504350 -> 0.492709: 1.02x faster | |
Avg: 0.533927 -> 0.509903: 1.05x faster | |
Significant (t=2.43) | |
Stddev: 0.08010 -> 0.05797: 1.3818x smaller | |
### etree_generate ### | |
Min: 0.227991 -> 0.241852: 1.06x slower | |
Avg: 0.230094 -> 0.245301: 1.07x slower | |
Significant (t=-69.93) | |
Stddev: 0.00148 -> 0.00160: 1.0798x larger | |
### etree_iterparse ### | |
Min: 0.178931 -> 0.173983: 1.03x faster | |
Avg: 0.181862 -> 0.176403: 1.03x faster | |
Significant (t=33.28) | |
Stddev: 0.00132 -> 0.00098: 1.3441x smaller | |
### etree_parse ### | |
Min: 0.225732 -> 0.233473: 1.03x slower | |
Avg: 0.227036 -> 0.235216: 1.04x slower | |
Significant (t=-52.72) | |
Stddev: 0.00082 -> 0.00131: 1.5941x larger | |
### etree_process ### | |
Min: 0.199965 -> 0.213954: 1.07x slower | |
Avg: 0.202817 -> 0.240502: 1.19x slower | |
Significant (t=-7.03) | |
Stddev: 0.00344 -> 0.05353: 15.5625x larger | |
### fannkuch ### | |
Min: 0.841899 -> 0.887417: 1.05x slower | |
Avg: 0.846966 -> 0.926708: 1.09x slower | |
Significant (t=-5.34) | |
Stddev: 0.00602 -> 0.14932: 24.7875x larger | |
### fastpickle ### | |
Min: 0.424079 -> 0.423300: 1.00x faster | |
Avg: 0.442428 -> 0.425525: 1.04x faster | |
Significant (t=2.72) | |
Stddev: 0.06201 -> 0.00273: 22.7505x smaller | |
### formatted_logging ### | |
Min: 0.303565 -> 0.294368: 1.03x faster | |
Avg: 0.307543 -> 0.297463: 1.03x faster | |
Significant (t=20.71) | |
Stddev: 0.00412 -> 0.00260: 1.5823x smaller | |
### go ### | |
Min: 0.462381 -> 0.444645: 1.04x faster | |
Avg: 0.481758 -> 0.450712: 1.07x faster | |
Significant (t=6.75) | |
Stddev: 0.04561 -> 0.00603: 7.5651x smaller | |
### json_load ### | |
Min: 0.379790 -> 0.365684: 1.04x faster | |
Avg: 0.382417 -> 0.367822: 1.04x faster | |
Significant (t=49.74) | |
Stddev: 0.00265 -> 0.00125: 2.1228x smaller | |
### mako_v2 ### | |
Min: 0.036321 -> 0.032995: 1.10x faster | |
Avg: 0.037065 -> 0.033763: 1.10x faster | |
Significant (t=73.01) | |
Stddev: 0.00087 -> 0.00114: 1.3113x larger | |
### meteor_contest ### | |
Min: 0.162299 -> 0.156035: 1.04x faster | |
Avg: 0.163336 -> 0.157000: 1.04x faster | |
Significant (t=40.30) | |
Stddev: 0.00146 -> 0.00059: 2.4835x smaller | |
### nbody ### | |
Min: 0.194434 -> 0.188794: 1.03x faster | |
Avg: 0.195249 -> 0.189648: 1.03x faster | |
Significant (t=66.87) | |
Stddev: 0.00063 -> 0.00055: 1.1570x smaller | |
### pickle_dict ### | |
Min: 0.464398 -> 0.551091: 1.19x slower | |
Avg: 0.486206 -> 0.554060: 1.14x slower | |
Significant (t=-12.92) | |
Stddev: 0.05192 -> 0.00781: 6.6514x smaller | |
### pickle_list ### | |
Min: 0.247835 -> 0.241370: 1.03x faster | |
Avg: 0.249974 -> 0.261512: 1.05x slower | |
Significant (t=-2.63) | |
Stddev: 0.00304 -> 0.04370: 14.3664x larger | |
### pidigits ### | |
Min: 0.231654 -> 0.225228: 1.03x faster | |
Avg: 0.232963 -> 0.225920: 1.03x faster | |
Significant (t=26.44) | |
Stddev: 0.00256 -> 0.00074: 3.4748x smaller | |
### regex_compile ### | |
Min: 0.294525 -> 0.274278: 1.07x faster | |
Avg: 0.299315 -> 0.284642: 1.05x faster | |
Significant (t=3.96) | |
Stddev: 0.01980 -> 0.03135: 1.5835x larger | |
### regex_v8 ### | |
Min: 0.036281 -> 0.034528: 1.05x faster | |
Avg: 0.036614 -> 0.034897: 1.05x faster | |
Significant (t=11.25) | |
Stddev: 0.00109 -> 0.00107: 1.0194x smaller | |
### richards ### | |
Min: 0.141355 -> 0.134537: 1.05x faster | |
Avg: 0.142238 -> 0.135900: 1.05x faster | |
Significant (t=37.88) | |
Stddev: 0.00049 -> 0.00160: 3.2876x larger | |
### silent_logging ### | |
Min: 0.062376 -> 0.055473: 1.12x faster | |
Avg: 0.063543 -> 0.056662: 1.12x faster | |
Significant (t=9.23) | |
Stddev: 0.00601 -> 0.00441: 1.3641x smaller | |
### simple_logging ### | |
Min: 0.253703 -> 0.251558: 1.01x faster | |
Avg: 0.262781 -> 0.254531: 1.03x faster | |
Significant (t=3.54) | |
Stddev: 0.02286 -> 0.00437: 5.2367x smaller | |
### spectral_norm ### | |
Min: 0.239381 -> 0.233404: 1.03x faster | |
Avg: 0.240076 -> 0.234912: 1.02x faster | |
Significant (t=17.39) | |
Stddev: 0.00102 -> 0.00279: 2.7301x larger | |
### telco ### | |
Min: 0.009739 -> 0.010332: 1.06x slower | |
Avg: 0.009846 -> 0.010440: 1.06x slower | |
Significant (t=-60.49) | |
Stddev: 0.00006 -> 0.00007: 1.1497x larger | |
### tornado_http ### | |
Min: 0.230034 -> 0.222652: 1.03x faster | |
Avg: 0.233616 -> 0.225499: 1.04x faster | |
Significant (t=15.86) | |
Stddev: 0.00376 -> 0.00619: 1.6472x larger | |
### unpack_sequence ### | |
Min: 0.000038 -> 0.000037: 1.03x faster | |
Avg: 0.000039 -> 0.000037: 1.04x faster | |
Significant (t=342.86) | |
Stddev: 0.00000 -> 0.00000: 1.0778x smaller | |
The following not significant results are hidden, use -v to show them: | |
fastunpickle, float, hexiom2, json_dump_v2, normal_startup, nqueens, pathlib, raytrace, regex_effbot, startup_nosite, unpickle_list. | |
=============== [separate runs] | |
yury@ysmbp ~/dev/py/benchmarks $ python3.5 perf.py -b telco ../cpython/python.exe ../cpython-git/python.exe -r | |
INFO:root:Automatically selected timer: perf_counter | |
[1/1] telco... | |
^[[A | |
INFO:root:Running `../cpython-git/python.exe performance/bm_telco.py -n 100 --timer perf_counter` | |
^[[A | |
^[[A | |
^[[A | |
^[OFINFO:root:Running `../cpython/python.exe performance/bm_telco.py -n 100 --timer perf_counter` | |
Report on Darwin ysmbp.local 15.2.0 Darwin Kernel Version 15.2.0: Fri Nov 13 19:56:56 PST 2015; root:xnu-3248.20.55~2/RELEASE_X86_64 x86_64 i386 | |
Total CPU cores: 8 | |
### telco ### | |
Min: 0.007980 -> 0.007260: 1.10x faster | |
Avg: 0.009557 -> 0.008644: 1.11x faster | |
Significant (t=55.91) | |
Stddev: 0.00118 -> 0.00113: 1.0429x smaller | |
yury@ysmbp ~/dev/py/benchmarks $ python3.5 perf.py -b telco ../cpython/python.exe ../cpython-git/python.exe -r | |
INFO:root:Automatically selected timer: perf_counter | |
[1/1] telco... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_telco.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_telco.py -n 100 --timer perf_counter` | |
Report on Darwin ysmbp.local 15.2.0 Darwin Kernel Version 15.2.0: Fri Nov 13 19:56:56 PST 2015; root:xnu-3248.20.55~2/RELEASE_X86_64 x86_64 i386 | |
Total CPU cores: 8 | |
### telco ### | |
Min: 0.007641 -> 0.007278: 1.05x faster | |
Avg: 0.009217 -> 0.008724: 1.06x faster | |
Significant (t=30.64) | |
Stddev: 0.00115 -> 0.00112: 1.0284x smaller | |
yury@ysmbp ~/dev/py/benchmarks $ python3.5 perf.py -b telco ../cpython/python.exe ../cpython-git/python.exe -r | |
INFO:root:Automatically selected timer: perf_counter | |
[1/1] telco... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_telco.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_telco.py -n 100 --timer perf_counter` | |
Report on Darwin ysmbp.local 15.2.0 Darwin Kernel Version 15.2.0: Fri Nov 13 19:56:56 PST 2015; root:xnu-3248.20.55~2/RELEASE_X86_64 x86_64 i386 | |
Total CPU cores: 8 | |
The following not significant results are hidden, use -v to show them: | |
telco. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
yury@ares ~/benchmarks $ uname -a | |
Linux ares.sprymix.net 4.1.2 #10 SMP Fri Jul 10 19:14:52 EDT 2015 x86_64 Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz GenuineIntel GNU/Linux | |
yury@ares ~/benchmarks $ ../tmp/cpython/python -c 'import sys; print(sys.version)' | |
3.6.0a0 (default, Jan 26 2016, 19:04:11) | |
[GCC 4.9.3] | |
yury@ares ~/benchmarks $ cat /proc/meminfo | grep MemTotal | |
MemTotal: 65948368 kB | |
yury@ares ~/benchmarks $ python3.5 perf.py -b all ../test2/cpython/python ../tmp/cpython/python -r | |
INFO:root:Automatically selected timer: perf_counter | |
INFO:root:Skipping benchmark html5lib; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark slowspitfire; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark slowunpickle; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark spambayes; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark hg_startup; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark bzr_startup; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark rietveld; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark html5lib_warmup; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark pybench; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark slowpickle; not compatible with Python 3.6 | |
[ 1/43] 2to3... | |
INFO:root:Running `../tmp/cpython/python lib3/2to3/2to3 -f all lib/2to3` | |
INFO:root:Running `../tmp/cpython/python lib3/2to3/2to3 -f all lib/2to3` 5 times | |
INFO:root:Running `../test2/cpython/python lib3/2to3/2to3 -f all lib/2to3` | |
INFO:root:Running `../test2/cpython/python lib3/2to3/2to3 -f all lib/2to3` 5 times | |
[ 2/43] call_method... | |
INFO:root:Running `../tmp/cpython/python performance/bm_call_method.py -n 300 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_call_method.py -n 300 --timer perf_counter` | |
[ 3/43] call_method_slots... | |
INFO:root:Running `../tmp/cpython/python performance/bm_call_method_slots.py -n 300 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_call_method_slots.py -n 300 --timer perf_counter` | |
^[[A | |
^[[A | |
[ 4/43] call_method_unknown... | |
INFO:root:Running `../tmp/cpython/python performance/bm_call_method_unknown.py -n 300 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_call_method_unknown.py -n 300 --timer perf_counter` | |
[ 5/43] call_simple... | |
INFO:root:Running `../tmp/cpython/python performance/bm_call_simple.py -n 300 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_call_simple.py -n 300 --timer perf_counter` | |
[ 6/43] chameleon_v2... | |
INFO:root:Running `../tmp/cpython/python performance/bm_chameleon_v2.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_chameleon_v2.py -n 100 --timer perf_counter` | |
[ 7/43] chaos... | |
INFO:root:Running `../tmp/cpython/python performance/bm_chaos.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_chaos.py -n 100 --timer perf_counter` | |
[ 8/43] django_v3... | |
INFO:root:Running `../tmp/cpython/python performance/bm_django_v3.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_django_v3.py -n 100 --timer perf_counter` | |
[ 9/43] etree_generate... | |
INFO:root:Running `../tmp/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter generate` | |
INFO:root:Running `../test2/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter generate` | |
[10/43] etree_iterparse... | |
INFO:root:Running `../tmp/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter iterparse` | |
INFO:root:Running `../test2/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter iterparse` | |
[11/43] etree_parse... | |
INFO:root:Running `../tmp/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter parse` | |
INFO:root:Running `../test2/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter parse` | |
[12/43] etree_process... | |
INFO:root:Running `../tmp/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter process` | |
INFO:root:Running `../test2/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter process` | |
[13/43] fannkuch... | |
INFO:root:Running `../tmp/cpython/python performance/bm_fannkuch.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_fannkuch.py -n 100 --timer perf_counter` | |
[14/43] fastpickle... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle` | |
INFO:root:Running `../test2/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle` | |
[15/43] fastunpickle... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle` | |
INFO:root:Running `../test2/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle` | |
[16/43] float... | |
INFO:root:Running `../tmp/cpython/python performance/bm_float.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_float.py -n 100 --timer perf_counter` | |
[17/43] formatted_logging... | |
INFO:root:Running `../tmp/cpython/python performance/bm_logging.py -n 100 --timer perf_counter formatted_output` | |
INFO:root:Running `../test2/cpython/python performance/bm_logging.py -n 100 --timer perf_counter formatted_output` | |
[18/43] go... | |
INFO:root:Running `../tmp/cpython/python performance/bm_go.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_go.py -n 100 --timer perf_counter` | |
[19/43] hexiom2... | |
INFO:root:Running `../tmp/cpython/python performance/bm_hexiom2.py -n 4 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_hexiom2.py -n 4 --timer perf_counter` | |
[20/43] json_dump_v2... | |
INFO:root:Running `../tmp/cpython/python performance/bm_json_v2.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_json_v2.py -n 100 --timer perf_counter` | |
[21/43] json_load... | |
INFO:root:Running `../tmp/cpython/python performance/bm_json.py -n 100 --timer perf_counter json_load` | |
INFO:root:Running `../test2/cpython/python performance/bm_json.py -n 100 --timer perf_counter json_load` | |
[22/43] mako_v2... | |
INFO:root:Running `../tmp/cpython/python performance/bm_mako_v2.py -n 1000 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_mako_v2.py -n 1000 --timer perf_counter` | |
[23/43] meteor_contest... | |
INFO:root:Running `../tmp/cpython/python performance/bm_meteor_contest.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_meteor_contest.py -n 100 --timer perf_counter` | |
[24/43] nbody... | |
INFO:root:Running `../tmp/cpython/python performance/bm_nbody.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_nbody.py -n 100 --timer perf_counter` | |
[25/43] normal_startup... | |
INFO:root:Running `../tmp/cpython/python -c ` 2000 times | |
INFO:root:Running `../test2/cpython/python -c ` 2000 times | |
[26/43] nqueens... | |
INFO:root:Running `../tmp/cpython/python performance/bm_nqueens.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_nqueens.py -n 100 --timer perf_counter` | |
[27/43] pathlib... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pathlib.py -n 1000 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_pathlib.py -n 1000 --timer perf_counter` | |
[28/43] pickle_dict... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_dict` | |
INFO:root:Running `../test2/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_dict` | |
[29/43] pickle_list... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_list` | |
INFO:root:Running `../test2/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_list` | |
[30/43] pidigits... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pidigits.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_pidigits.py -n 100 --timer perf_counter` | |
[31/43] raytrace... | |
INFO:root:Running `../tmp/cpython/python performance/bm_raytrace.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_raytrace.py -n 100 --timer perf_counter` | |
[32/43] regex_compile... | |
INFO:root:Running `../tmp/cpython/python performance/bm_regex_compile.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_regex_compile.py -n 100 --timer perf_counter` | |
[33/43] regex_effbot... | |
INFO:root:Running `../tmp/cpython/python performance/bm_regex_effbot.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_regex_effbot.py -n 100 --timer perf_counter` | |
[34/43] regex_v8... | |
INFO:root:Running `../tmp/cpython/python performance/bm_regex_v8.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_regex_v8.py -n 100 --timer perf_counter` | |
[35/43] richards... | |
INFO:root:Running `../tmp/cpython/python performance/bm_richards.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_richards.py -n 100 --timer perf_counter` | |
[36/43] silent_logging... | |
INFO:root:Running `../tmp/cpython/python performance/bm_logging.py -n 100 --timer perf_counter no_output` | |
INFO:root:Running `../test2/cpython/python performance/bm_logging.py -n 100 --timer perf_counter no_output` | |
[37/43] simple_logging... | |
INFO:root:Running `../tmp/cpython/python performance/bm_logging.py -n 100 --timer perf_counter simple_output` | |
INFO:root:Running `../test2/cpython/python performance/bm_logging.py -n 100 --timer perf_counter simple_output` | |
[38/43] spectral_norm... | |
INFO:root:Running `../tmp/cpython/python performance/bm_spectral_norm.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_spectral_norm.py -n 100 --timer perf_counter` | |
[39/43] startup_nosite... | |
INFO:root:Running `../tmp/cpython/python -S -c ` 4000 times | |
INFO:root:Running `../test2/cpython/python -S -c ` 4000 times | |
[40/43] telco... | |
INFO:root:Running `../tmp/cpython/python performance/bm_telco.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_telco.py -n 100 --timer perf_counter` | |
[41/43] tornado_http... | |
INFO:root:Running `../tmp/cpython/python performance/bm_tornado_http.py -n 200 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_tornado_http.py -n 200 --timer perf_counter` | |
[42/43] unpack_sequence... | |
INFO:root:Running `../tmp/cpython/python performance/bm_unpack_sequence.py -n 100000 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_unpack_sequence.py -n 100000 --timer perf_counter` | |
[43/43] unpickle_list... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle_list` | |
INFO:root:Running `../test2/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle_list` | |
Report on Linux ares.sprymix.net 4.1.2 #10 SMP Fri Jul 10 19:14:52 EDT 2015 x86_64 Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz | |
Total CPU cores: 8 | |
### 2to3 ### | |
Min: 6.012000 -> 5.828000: 1.03x faster | |
Avg: 6.044000 -> 5.911200: 1.02x faster | |
Significant (t=2.75) | |
Stddev: 0.02466 -> 0.10501: 4.2587x larger | |
### call_method ### | |
Min: 0.258916 -> 0.206257: 1.26x faster | |
Avg: 0.260096 -> 0.207326: 1.25x faster | |
Significant (t=495.16) | |
Stddev: 0.00109 -> 0.00149: 1.3661x larger | |
### call_method_slots ### | |
Min: 0.255608 -> 0.205282: 1.25x faster | |
Avg: 0.256972 -> 0.211929: 1.21x faster | |
Significant (t=23.99) | |
Stddev: 0.00167 -> 0.03248: 19.3947x larger | |
### call_method_unknown ### | |
Min: 0.259281 -> 0.236459: 1.10x faster | |
Avg: 0.261142 -> 0.244974: 1.07x faster | |
Significant (t=7.35) | |
Stddev: 0.00301 -> 0.03796: 12.6319x larger | |
### call_simple ### | |
Min: 0.199556 -> 0.190193: 1.05x faster | |
Avg: 0.201065 -> 0.191017: 1.05x faster | |
Significant (t=66.50) | |
Stddev: 0.00257 -> 0.00050: 5.1565x smaller | |
### chameleon_v2 ### | |
Min: 4.853294 -> 4.399112: 1.10x faster | |
Avg: 4.942227 -> 4.433761: 1.11x faster | |
Significant (t=15.37) | |
Stddev: 0.31715 -> 0.09382: 3.3804x smaller | |
### etree_generate ### | |
Min: 0.229448 -> 0.236121: 1.03x slower | |
Avg: 0.232367 -> 0.238964: 1.03x slower | |
Significant (t=-43.31) | |
Stddev: 0.00119 -> 0.00095: 1.2478x smaller | |
### etree_parse ### | |
Min: 0.227591 -> 0.245070: 1.08x slower | |
Avg: 0.229286 -> 0.246566: 1.08x slower | |
Significant (t=-92.64) | |
Stddev: 0.00167 -> 0.00084: 1.9944x smaller | |
### fannkuch ### | |
Min: 0.836352 -> 0.902409: 1.08x slower | |
Avg: 0.842077 -> 0.940334: 1.12x slower | |
Significant (t=-6.35) | |
Stddev: 0.00873 -> 0.15460: 17.7077x larger | |
### fastpickle ### | |
Min: 0.423058 -> 0.420725: 1.01x faster | |
Avg: 0.425679 -> 0.452593: 1.06x slower | |
Significant (t=-3.16) | |
Stddev: 0.00123 -> 0.08526: 69.5041x larger | |
### float ### | |
Min: 0.224958 -> 0.219500: 1.02x faster | |
Avg: 0.231099 -> 0.225844: 1.02x faster | |
Significant (t=10.56) | |
Stddev: 0.00331 -> 0.00372: 1.1245x larger | |
### go ### | |
Min: 0.462822 -> 0.450418: 1.03x faster | |
Avg: 0.482129 -> 0.455403: 1.06x faster | |
Significant (t=4.04) | |
Stddev: 0.06520 -> 0.01151: 5.6649x smaller | |
### hexiom2 ### | |
Min: 109.101442 -> 99.647912: 1.09x faster | |
Avg: 111.086422 -> 100.572470: 1.10x faster | |
Significant (t=9.95) | |
Stddev: 1.88124 -> 0.96097: 1.9576x smaller | |
### mako_v2 ### | |
Min: 0.034636 -> 0.033359: 1.04x faster | |
Avg: 0.035546 -> 0.034280: 1.04x faster | |
Significant (t=11.76) | |
Stddev: 0.00274 -> 0.00202: 1.3524x smaller | |
### meteor_contest ### | |
Min: 0.160615 -> 0.156450: 1.03x faster | |
Avg: 0.163636 -> 0.159119: 1.03x faster | |
Significant (t=3.24) | |
Stddev: 0.00892 -> 0.01070: 1.1992x larger | |
### nbody ### | |
Min: 0.198180 -> 0.186305: 1.06x faster | |
Avg: 0.200868 -> 0.188485: 1.07x faster | |
Significant (t=8.07) | |
Stddev: 0.01189 -> 0.00969: 1.2271x smaller | |
### nqueens ### | |
Min: 0.245949 -> 0.227285: 1.08x faster | |
Avg: 0.256461 -> 0.235917: 1.09x faster | |
Significant (t=5.61) | |
Stddev: 0.02764 -> 0.02405: 1.1493x smaller | |
### pathlib ### | |
Min: 0.071664 -> 0.068172: 1.05x faster | |
Avg: 0.073014 -> 0.069741: 1.05x faster | |
Significant (t=11.83) | |
Stddev: 0.00387 -> 0.00483: 1.2477x larger | |
### pickle_dict ### | |
Min: 0.456399 -> 0.556209: 1.22x slower | |
Avg: 0.460058 -> 0.560498: 1.22x slower | |
Significant (t=-59.86) | |
Stddev: 0.01284 -> 0.01080: 1.1894x smaller | |
### pidigits ### | |
Min: 0.231522 -> 0.225496: 1.03x faster | |
Avg: 0.238262 -> 0.229560: 1.04x faster | |
Significant (t=2.76) | |
Stddev: 0.02795 -> 0.01462: 1.9118x smaller | |
### raytrace ### | |
Min: 1.097089 -> 1.152704: 1.05x slower | |
Avg: 1.181943 -> 1.222822: 1.03x slower | |
Significant (t=-2.39) | |
Stddev: 0.12658 -> 0.11550: 1.0960x smaller | |
### regex_compile ### | |
Min: 0.294299 -> 0.269669: 1.09x faster | |
Avg: 0.304817 -> 0.270997: 1.12x faster | |
Significant (t=10.77) | |
Stddev: 0.03140 -> 0.00101: 30.9612x smaller | |
### richards ### | |
Min: 0.141406 -> 0.135393: 1.04x faster | |
Avg: 0.144049 -> 0.138196: 1.04x faster | |
Significant (t=4.21) | |
Stddev: 0.01014 -> 0.00953: 1.0643x smaller | |
### silent_logging ### | |
Min: 0.062884 -> 0.055842: 1.13x faster | |
Avg: 0.063902 -> 0.057091: 1.12x faster | |
Significant (t=11.79) | |
Stddev: 0.00337 -> 0.00470: 1.3947x larger | |
### simple_logging ### | |
Min: 0.253857 -> 0.244354: 1.04x faster | |
Avg: 0.255694 -> 0.248685: 1.03x faster | |
Significant (t=7.30) | |
Stddev: 0.00108 -> 0.00954: 8.8688x larger | |
### telco ### | |
Min: 0.009265 -> 0.010311: 1.11x slower | |
Avg: 0.009388 -> 0.010419: 1.11x slower | |
Significant (t=-101.74) | |
Stddev: 0.00008 -> 0.00007: 1.1731x smaller | |
### tornado_http ### | |
Min: 0.229026 -> 0.223605: 1.02x faster | |
Avg: 0.231869 -> 0.226682: 1.02x faster | |
Significant (t=15.58) | |
Stddev: 0.00218 -> 0.00417: 1.9164x larger | |
### unpack_sequence ### | |
Min: 0.000038 -> 0.000037: 1.03x faster | |
Avg: 0.000039 -> 0.000038: 1.02x faster | |
Significant (t=178.30) | |
Stddev: 0.00000 -> 0.00000: 1.0852x larger | |
The following not significant results are hidden, use -v to show them: | |
chaos, django_v3, etree_iterparse, etree_process, fastunpickle, formatted_logging, json_dump_v2, json_load, normal_startup, pickle_list, regex_effbot, regex_v8, spectral_norm, startup_nosite, unpickle_list. | |
=============== [separate runs] | |
yury@ares ~/benchmarks $ python3.5 perf.py -b pickle_dict ../test2/cpython/python ../tmp/cpython/python -r | |
INFO:root:Automatically selected timer: perf_counter | |
[1/1] pickle_dict... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_dict` | |
INFO:root:Running `../test2/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_dict` | |
Report on Linux ares.sprymix.net 4.1.2 #10 SMP Fri Jul 10 19:14:52 EDT 2015 x86_64 Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz | |
Total CPU cores: 8 | |
The following not significant results are hidden, use -v to show them: | |
pickle_dict. | |
yury@ares ~/benchmarks $ python3.5 perf.py -b pickle_dict ../test2/cpython/python ../tmp/cpython/python -r | |
INFO:root:Automatically selected timer: perf_counter | |
[1/1] pickle_dict... | |
INFO:root:Running `../tmp/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_dict` | |
INFO:root:Running `../test2/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_dict` | |
Report on Linux ares.sprymix.net 4.1.2 #10 SMP Fri Jul 10 19:14:52 EDT 2015 x86_64 Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz | |
Total CPU cores: 8 | |
### pickle_dict ### | |
Min: 0.455909 -> 0.450845: 1.01x faster | |
Avg: 0.487319 -> 0.468325: 1.04x faster | |
Significant (t=2.10) | |
Stddev: 0.07175 -> 0.05512: 1.3018x smaller | |
=============== [separate runs] | |
yury@ares ~/benchmarks $ python3.5 perf.py -b telco ../test2/cpython/python ../tmp/cpython/python -r | |
INFO:root:Automatically selected timer: perf_counter | |
[1/1] telco... | |
INFO:root:Running `../tmp/cpython/python performance/bm_telco.py -n 100 --timer perf_counter` | |
INFO:root:Running `../test2/cpython/python performance/bm_telco.py -n 100 --timer perf_counter` | |
Report on Linux ares.sprymix.net 4.1.2 #10 SMP Fri Jul 10 19:14:52 EDT 2015 x86_64 Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz | |
Total CPU cores: 8 | |
### telco ### | |
Min: 0.010333 -> 0.010072: 1.03x faster | |
Avg: 0.010651 -> 0.010998: 1.03x slower | |
Significant (t=-18.68) | |
Stddev: 0.00063 -> 0.00175: 2.7933x larger | |
=============== [separate runs] | |
yury@ares ~/benchmarks $ python3.5 perf.py -b etree ../test2/cpython/python ../tmp/cpython/python -r | |
INFO:root:Automatically selected timer: perf_counter | |
[1/4] etree_generate... | |
INFO:root:Running `../tmp/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter generate` | |
INFO:root:Running `../test2/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter generate` | |
[2/4] etree_iterparse... | |
INFO:root:Running `../tmp/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter iterparse` | |
INFO:root:Running `../test2/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter iterparse` | |
[3/4] etree_parse... | |
INFO:root:Running `../tmp/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter parse` | |
INFO:root:Running `../test2/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter parse` | |
[4/4] etree_process... | |
INFO:root:Running `../tmp/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter process` | |
INFO:root:Running `../test2/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter process` | |
Report on Linux ares.sprymix.net 4.1.2 #10 SMP Fri Jul 10 19:14:52 EDT 2015 x86_64 Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz | |
Total CPU cores: 8 | |
### etree_iterparse ### | |
Min: 0.169025 -> 0.163021: 1.04x faster | |
Avg: 0.176081 -> 0.170357: 1.03x faster | |
Significant (t=2.62) | |
Stddev: 0.01525 -> 0.01562: 1.0239x larger | |
### etree_parse ### | |
Min: 0.249782 -> 0.237655: 1.05x faster | |
Avg: 0.258332 -> 0.241459: 1.07x faster | |
Significant (t=7.04) | |
Stddev: 0.02365 -> 0.00385: 6.1469x smaller | |
### etree_process ### | |
Min: 0.202531 -> 0.212959: 1.05x slower | |
Avg: 0.205440 -> 0.222724: 1.08x slower | |
Significant (t=-7.92) | |
Stddev: 0.00289 -> 0.02164: 7.4912x larger | |
The following not significant results are hidden, use -v to show them: | |
etree_generate. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
yuri@einstein ~/benchmarks $ uname -a | |
Linux einstein.sprymix.net 4.4.0 #36 SMP Sun Jan 24 23:24:22 EST 2016 x86_64 Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz GenuineIntel GNU/Linux | |
yuri@einstein ~/benchmarks $ ../optpy/cpython/python -c 'import sys; print(sys.version)' | |
3.6.0a0 (default, Jan 26 2016, 19:29:01) | |
[GCC 4.9.3] | |
yuri@einstein ~/benchmarks $ cat /proc/meminfo | grep MemTotal | |
MemTotal: 12273460 kB | |
yuri@einstein ~/benchmarks $ python3.5 perf.py -b all ../opy/cpython/python ../optpy/cpython/python -r | |
INFO:root:Automatically selected timer: perf_counter | |
INFO:root:Skipping benchmark slowspitfire; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark hg_startup; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark bzr_startup; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark spambayes; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark html5lib; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark rietveld; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark pybench; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark html5lib_warmup; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark slowunpickle; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark slowpickle; not compatible with Python 3.6 | |
[ 1/43] 2to3... | |
INFO:root:Running `../optpy/cpython/python lib3/2to3/2to3 -f all lib/2to3` | |
^[[A | |
^[[A | |
INFO:root:Running `../optpy/cpython/python lib3/2to3/2to3 -f all lib/2to3` 5 times | |
INFO:root:Running `../opy/cpython/python lib3/2to3/2to3 -f all lib/2to3` | |
INFO:root:Running `../opy/cpython/python lib3/2to3/2to3 -f all lib/2to3` 5 times | |
[ 2/43] call_method... | |
INFO:root:Running `../optpy/cpython/python performance/bm_call_method.py -n 300 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_call_method.py -n 300 --timer perf_counter` | |
[ 3/43] call_method_slots... | |
INFO:root:Running `../optpy/cpython/python performance/bm_call_method_slots.py -n 300 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_call_method_slots.py -n 300 --timer perf_counter` | |
[ 4/43] call_method_unknown... | |
INFO:root:Running `../optpy/cpython/python performance/bm_call_method_unknown.py -n 300 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_call_method_unknown.py -n 300 --timer perf_counter` | |
[ 5/43] call_simple... | |
INFO:root:Running `../optpy/cpython/python performance/bm_call_simple.py -n 300 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_call_simple.py -n 300 --timer perf_counter` | |
[ 6/43] chameleon_v2... | |
INFO:root:Running `../optpy/cpython/python performance/bm_chameleon_v2.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_chameleon_v2.py -n 100 --timer perf_counter` | |
[ 7/43] chaos... | |
INFO:root:Running `../optpy/cpython/python performance/bm_chaos.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_chaos.py -n 100 --timer perf_counter` | |
[ 8/43] django_v3... | |
INFO:root:Running `../optpy/cpython/python performance/bm_django_v3.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_django_v3.py -n 100 --timer perf_counter` | |
[ 9/43] etree_generate... | |
INFO:root:Running `../optpy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter generate` | |
INFO:root:Running `../opy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter generate` | |
[10/43] etree_iterparse... | |
INFO:root:Running `../optpy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter iterparse` | |
INFO:root:Running `../opy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter iterparse` | |
[11/43] etree_parse... | |
INFO:root:Running `../optpy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter parse` | |
INFO:root:Running `../opy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter parse` | |
[12/43] etree_process... | |
INFO:root:Running `../optpy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter process` | |
INFO:root:Running `../opy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter process` | |
[13/43] fannkuch... | |
INFO:root:Running `../optpy/cpython/python performance/bm_fannkuch.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_fannkuch.py -n 100 --timer perf_counter` | |
[14/43] fastpickle... | |
INFO:root:Running `../optpy/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle` | |
INFO:root:Running `../opy/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle` | |
[15/43] fastunpickle... | |
INFO:root:Running `../optpy/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle` | |
INFO:root:Running `../opy/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle` | |
[16/43] float... | |
INFO:root:Running `../optpy/cpython/python performance/bm_float.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_float.py -n 100 --timer perf_counter` | |
[17/43] formatted_logging... | |
INFO:root:Running `../optpy/cpython/python performance/bm_logging.py -n 100 --timer perf_counter formatted_output` | |
INFO:root:Running `../opy/cpython/python performance/bm_logging.py -n 100 --timer perf_counter formatted_output` | |
[18/43] go... | |
INFO:root:Running `../optpy/cpython/python performance/bm_go.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_go.py -n 100 --timer perf_counter` | |
[19/43] hexiom2... | |
INFO:root:Running `../optpy/cpython/python performance/bm_hexiom2.py -n 4 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_hexiom2.py -n 4 --timer perf_counter` | |
[20/43] json_dump_v2... | |
INFO:root:Running `../optpy/cpython/python performance/bm_json_v2.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_json_v2.py -n 100 --timer perf_counter` | |
[21/43] json_load... | |
INFO:root:Running `../optpy/cpython/python performance/bm_json.py -n 100 --timer perf_counter json_load` | |
INFO:root:Running `../opy/cpython/python performance/bm_json.py -n 100 --timer perf_counter json_load` | |
[22/43] mako_v2... | |
INFO:root:Running `../optpy/cpython/python performance/bm_mako_v2.py -n 1000 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_mako_v2.py -n 1000 --timer perf_counter` | |
[23/43] meteor_contest... | |
INFO:root:Running `../optpy/cpython/python performance/bm_meteor_contest.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_meteor_contest.py -n 100 --timer perf_counter` | |
[24/43] nbody... | |
INFO:root:Running `../optpy/cpython/python performance/bm_nbody.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_nbody.py -n 100 --timer perf_counter` | |
[25/43] normal_startup... | |
INFO:root:Running `../optpy/cpython/python -c ` 2000 times | |
INFO:root:Running `../opy/cpython/python -c ` 2000 times | |
[26/43] nqueens... | |
INFO:root:Running `../optpy/cpython/python performance/bm_nqueens.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_nqueens.py -n 100 --timer perf_counter` | |
[27/43] pathlib... | |
INFO:root:Running `../optpy/cpython/python performance/bm_pathlib.py -n 1000 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_pathlib.py -n 1000 --timer perf_counter` | |
[28/43] pickle_dict... | |
INFO:root:Running `../optpy/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_dict` | |
INFO:root:Running `../opy/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_dict` | |
[29/43] pickle_list... | |
INFO:root:Running `../optpy/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_list` | |
INFO:root:Running `../opy/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_list` | |
[30/43] pidigits... | |
INFO:root:Running `../optpy/cpython/python performance/bm_pidigits.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_pidigits.py -n 100 --timer perf_counter` | |
[31/43] raytrace... | |
INFO:root:Running `../optpy/cpython/python performance/bm_raytrace.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_raytrace.py -n 100 --timer perf_counter` | |
[32/43] regex_compile... | |
INFO:root:Running `../optpy/cpython/python performance/bm_regex_compile.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_regex_compile.py -n 100 --timer perf_counter` | |
[33/43] regex_effbot... | |
INFO:root:Running `../optpy/cpython/python performance/bm_regex_effbot.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_regex_effbot.py -n 100 --timer perf_counter` | |
[34/43] regex_v8... | |
INFO:root:Running `../optpy/cpython/python performance/bm_regex_v8.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_regex_v8.py -n 100 --timer perf_counter` | |
[35/43] richards... | |
INFO:root:Running `../optpy/cpython/python performance/bm_richards.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_richards.py -n 100 --timer perf_counter` | |
[36/43] silent_logging... | |
INFO:root:Running `../optpy/cpython/python performance/bm_logging.py -n 100 --timer perf_counter no_output` | |
INFO:root:Running `../opy/cpython/python performance/bm_logging.py -n 100 --timer perf_counter no_output` | |
[37/43] simple_logging... | |
INFO:root:Running `../optpy/cpython/python performance/bm_logging.py -n 100 --timer perf_counter simple_output` | |
INFO:root:Running `../opy/cpython/python performance/bm_logging.py -n 100 --timer perf_counter simple_output` | |
[38/43] spectral_norm... | |
INFO:root:Running `../optpy/cpython/python performance/bm_spectral_norm.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_spectral_norm.py -n 100 --timer perf_counter` | |
[39/43] startup_nosite... | |
INFO:root:Running `../optpy/cpython/python -S -c ` 4000 times | |
INFO:root:Running `../opy/cpython/python -S -c ` 4000 times | |
[40/43] telco... | |
INFO:root:Running `../optpy/cpython/python performance/bm_telco.py -n 100 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_telco.py -n 100 --timer perf_counter` | |
[41/43] tornado_http... | |
INFO:root:Running `../optpy/cpython/python performance/bm_tornado_http.py -n 200 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_tornado_http.py -n 200 --timer perf_counter` | |
[42/43] unpack_sequence... | |
INFO:root:Running `../optpy/cpython/python performance/bm_unpack_sequence.py -n 100000 --timer perf_counter` | |
INFO:root:Running `../opy/cpython/python performance/bm_unpack_sequence.py -n 100000 --timer perf_counter` | |
[43/43] unpickle_list... | |
INFO:root:Running `../optpy/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle_list` | |
INFO:root:Running `../opy/cpython/python performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle_list` | |
Report on Linux einstein.sprymix.net 4.4.0 #36 SMP Sun Jan 24 23:24:22 EST 2016 x86_64 Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz | |
Total CPU cores: 8 | |
### call_method ### | |
Min: 0.456945 -> 0.371404: 1.23x faster | |
Avg: 0.491895 -> 0.405299: 1.21x faster | |
Significant (t=117.40) | |
Stddev: 0.00854 -> 0.00950: 1.1129x larger | |
### call_method_slots ### | |
Min: 0.477989 -> 0.382400: 1.25x faster | |
Avg: 0.506644 -> 0.404459: 1.25x faster | |
Significant (t=168.26) | |
Stddev: 0.00765 -> 0.00722: 1.0599x smaller | |
### call_method_unknown ### | |
Min: 0.473865 -> 0.439151: 1.08x faster | |
Avg: 0.513037 -> 0.472235: 1.09x faster | |
Significant (t=48.22) | |
Stddev: 0.01082 -> 0.00988: 1.0952x smaller | |
### chameleon_v2 ### | |
Min: 7.291571 -> 6.618075: 1.10x faster | |
Avg: 7.438868 -> 6.763326: 1.10x faster | |
Significant (t=38.49) | |
Stddev: 0.12447 -> 0.12376: 1.0057x smaller | |
### django_v3 ### | |
Min: 0.794108 -> 0.741192: 1.07x faster | |
Avg: 0.845611 -> 0.782720: 1.08x faster | |
Significant (t=17.69) | |
Stddev: 0.01987 -> 0.02948: 1.4837x larger | |
### etree_generate ### | |
Min: 0.326624 -> 0.318477: 1.03x faster | |
Avg: 0.365514 -> 0.343407: 1.06x faster | |
Significant (t=8.91) | |
Stddev: 0.02153 -> 0.01233: 1.7462x smaller | |
### etree_process ### | |
Min: 0.282676 -> 0.289308: 1.02x slower | |
Avg: 0.300573 -> 0.308821: 1.03x slower | |
Significant (t=-8.50) | |
Stddev: 0.00713 -> 0.00659: 1.0824x smaller | |
### fastpickle ### | |
Min: 0.618099 -> 0.611043: 1.01x faster | |
Avg: 0.663858 -> 0.638272: 1.04x faster | |
Significant (t=9.28) | |
Stddev: 0.02253 -> 0.01588: 1.4192x smaller | |
### float ### | |
Min: 0.364891 -> 0.362816: 1.01x faster | |
Avg: 0.386998 -> 0.379311: 1.02x faster | |
Significant (t=6.05) | |
Stddev: 0.01011 -> 0.00771: 1.3118x smaller | |
### formatted_logging ### | |
Min: 0.477014 -> 0.452566: 1.05x faster | |
Avg: 0.509427 -> 0.470093: 1.08x faster | |
Significant (t=13.67) | |
Stddev: 0.02566 -> 0.01300: 1.9742x smaller | |
### hexiom2 ### | |
Min: 184.013615 -> 165.270194: 1.11x faster | |
Avg: 185.249155 -> 165.711424: 1.12x faster | |
Significant (t=40.54) | |
Stddev: 0.87807 -> 0.39760: 2.2084x smaller | |
### json_dump_v2 ### | |
Min: 3.672790 -> 3.477665: 1.06x faster | |
Avg: 3.746374 -> 3.558894: 1.05x faster | |
Significant (t=24.47) | |
Stddev: 0.05724 -> 0.05095: 1.1235x smaller | |
### meteor_contest ### | |
Min: 0.248246 -> 0.241223: 1.03x faster | |
Avg: 0.264064 -> 0.256743: 1.03x faster | |
Significant (t=6.14) | |
Stddev: 0.01016 -> 0.00623: 1.6307x smaller | |
### nbody ### | |
Min: 0.315921 -> 0.306385: 1.03x faster | |
Avg: 0.337762 -> 0.327050: 1.03x faster | |
Significant (t=8.86) | |
Stddev: 0.01012 -> 0.00662: 1.5290x smaller | |
### nqueens ### | |
Min: 0.331614 -> 0.319847: 1.04x faster | |
Avg: 0.349193 -> 0.336421: 1.04x faster | |
Significant (t=11.47) | |
Stddev: 0.00884 -> 0.00677: 1.3053x smaller | |
### pickle_dict ### | |
Min: 0.658437 -> 0.606916: 1.08x faster | |
Avg: 0.689543 -> 0.645957: 1.07x faster | |
Significant (t=18.12) | |
Stddev: 0.00954 -> 0.02208: 2.3146x larger | |
### raytrace ### | |
Min: 1.865489 -> 1.757074: 1.06x faster | |
Avg: 1.903279 -> 1.799936: 1.06x faster | |
Significant (t=23.89) | |
Stddev: 0.03469 -> 0.02584: 1.3426x smaller | |
### regex_compile ### | |
Min: 0.471344 -> 0.440253: 1.07x faster | |
Avg: 0.496311 -> 0.459949: 1.08x faster | |
Significant (t=18.48) | |
Stddev: 0.01769 -> 0.00861: 2.0553x smaller | |
### richards ### | |
Min: 0.231818 -> 0.226167: 1.02x faster | |
Avg: 0.252703 -> 0.239730: 1.05x faster | |
Significant (t=14.06) | |
Stddev: 0.00748 -> 0.00540: 1.3854x smaller | |
### silent_logging ### | |
Min: 0.096775 -> 0.089535: 1.08x faster | |
Avg: 0.104114 -> 0.097912: 1.06x faster | |
Significant (t=15.77) | |
Stddev: 0.00277 -> 0.00279: 1.0085x larger | |
### simple_logging ### | |
Min: 0.405943 -> 0.378784: 1.07x faster | |
Avg: 0.431760 -> 0.400531: 1.08x faster | |
Significant (t=22.69) | |
Stddev: 0.01068 -> 0.00868: 1.2305x smaller | |
### spectral_norm ### | |
Min: 0.416742 -> 0.374930: 1.11x faster | |
Avg: 0.444983 -> 0.395050: 1.13x faster | |
Significant (t=30.09) | |
Stddev: 0.01427 -> 0.00848: 1.6826x smaller | |
### telco ### | |
Min: 0.013147 -> 0.012649: 1.04x faster | |
Avg: 0.014861 -> 0.014088: 1.05x faster | |
Significant (t=7.89) | |
Stddev: 0.00051 -> 0.00084: 1.6354x larger | |
### tornado_http ### | |
Min: 0.337888 -> 0.331114: 1.02x faster | |
Avg: 0.359400 -> 0.348303: 1.03x faster | |
Significant (t=8.96) | |
Stddev: 0.01327 -> 0.01143: 1.1617x smaller | |
### unpack_sequence ### | |
Min: 0.000077 -> 0.000075: 1.03x faster | |
Avg: 0.000090 -> 0.000086: 1.05x faster | |
Significant (t=174.30) | |
Stddev: 0.00001 -> 0.00000: 1.4510x smaller | |
The following not significant results are hidden, use -v to show them: | |
2to3, call_simple, chaos, etree_iterparse, etree_parse, fannkuch, fastunpickle, go, json_load, mako_v2, normal_startup, pathlib, pickle_list, pidigits, regex_effbot, regex_v8, startup_nosite, unpickle_list. | |
=============== [separate runs] | |
yuri@einstein ~/benchmarks $ python3.5 perf.py -b etree ../opy/cpython/python ../optpy/cpython/python -r | |
INFO:root:Automatically selected timer: perf_counter | |
[1/4] etree_generate... | |
INFO:root:Running `../optpy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter generate` | |
INFO:root:Running `../opy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter generate` | |
[2/4] etree_iterparse... | |
INFO:root:Running `../optpy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter iterparse` | |
INFO:root:Running `../opy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter iterparse` | |
[3/4] etree_parse... | |
INFO:root:Running `../optpy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter parse` | |
INFO:root:Running `../opy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter parse` | |
[4/4] etree_process... | |
INFO:root:Running `../optpy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter process` | |
INFO:root:Running `../opy/cpython/python performance/bm_elementtree.py -n 100 --timer perf_counter process` | |
Report on Linux einstein.sprymix.net 4.4.0 #36 SMP Sun Jan 24 23:24:22 EST 2016 x86_64 Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz | |
Total CPU cores: 8 | |
### etree_generate ### | |
Min: 0.338071 -> 0.330549: 1.02x faster | |
Avg: 0.354316 -> 0.346609: 1.02x faster | |
Significant (t=9.02) | |
Stddev: 0.00626 -> 0.00582: 1.0759x smaller | |
### etree_iterparse ### | |
Min: 0.255521 -> 0.246000: 1.04x faster | |
Avg: 0.268329 -> 0.258412: 1.04x faster | |
Significant (t=10.66) | |
Stddev: 0.00779 -> 0.00508: 1.5331x smaller | |
### etree_process ### | |
Min: 0.295529 -> 0.292644: 1.01x faster | |
Avg: 0.307730 -> 0.320923: 1.04x slower | |
Significant (t=-11.67) | |
Stddev: 0.00588 -> 0.00966: 1.6433x larger | |
The following not significant results are hidden, use -v to show them: | |
etree_parse. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
yury@ysmbp ~/dev/py/cpython-git (opcache2 $%) $ uname -a | |
Darwin ysmbp.local 15.2.0 Darwin Kernel Version 15.2.0: Fri Nov 13 19:56:56 PST 2015; root:xnu-3248.20.55~2/RELEASE_X86_64 x86_64 | |
yury@ysmbp ~/dev/py/cpython-git (opcache2 $%) $ sysctl -n machdep.cpu.brand_string | |
Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz | |
yury@ysmbp ~/dev/py/cpython-git (opcache2 $%) $ ./python.exe -c 'import sys; print(sys.version)' | |
3.6.0a0 (default, Jan 26 2016, 19:27:03) | |
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] | |
yury@ysmbp ~/dev/py/cpython-git (opcache2 $%) $ sysctl hw.memsize | |
hw.memsize: 17179869184 | |
yury@ysmbp ~/dev/py/benchmarks $ python3.5 perf.py -b all,-tornado_http ../cpython/python.exe ../cpython-git/python.exe -r | |
INFO:root:Automatically selected timer: perf_counter | |
INFO:root:Skipping benchmark bzr_startup; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark slowpickle; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark slowspitfire; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark slowunpickle; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark spambayes; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark rietveld; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark hg_startup; not compatible with Python 3.6 | |
INFO:root:Skipping benchmark pybench; not compatible with Python 3.6 | |
[ 1/45] 2to3... | |
INFO:root:Running `../cpython-git/python.exe lib3/2to3/2to3 -f all lib/2to3` | |
INFO:root:Running `../cpython-git/python.exe lib3/2to3/2to3 -f all lib/2to3` 5 times | |
INFO:root:Running `../cpython/python.exe lib3/2to3/2to3 -f all lib/2to3` | |
INFO:root:Running `../cpython/python.exe lib3/2to3/2to3 -f all lib/2to3` 5 times | |
[ 2/45] call_c_method... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_call_c_method.py -n 300 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_call_c_method.py -n 300 --timer perf_counter` | |
[ 3/45] call_method... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_call_method.py -n 300 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_call_method.py -n 300 --timer perf_counter` | |
[ 4/45] call_method_slots... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_call_method_slots.py -n 300 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_call_method_slots.py -n 300 --timer perf_counter` | |
[ 5/45] call_method_unknown... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_call_method_unknown.py -n 300 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_call_method_unknown.py -n 300 --timer perf_counter` | |
^[[A | |
^[[A | |
[ 6/45] call_simple... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_call_simple.py -n 300 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_call_simple.py -n 300 --timer perf_counter` | |
[ 7/45] chameleon_v2... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_chameleon_v2.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_chameleon_v2.py -n 100 --timer perf_counter` | |
[ 8/45] chaos... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_chaos.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_chaos.py -n 100 --timer perf_counter` | |
[ 9/45] django_v3... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_django_v3.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_django_v3.py -n 100 --timer perf_counter` | |
[10/45] etree_generate... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_elementtree.py -n 100 --timer perf_counter generate` | |
INFO:root:Running `../cpython/python.exe performance/bm_elementtree.py -n 100 --timer perf_counter generate` | |
[11/45] etree_iterparse... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_elementtree.py -n 100 --timer perf_counter iterparse` | |
INFO:root:Running `../cpython/python.exe performance/bm_elementtree.py -n 100 --timer perf_counter iterparse` | |
[12/45] etree_parse... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_elementtree.py -n 100 --timer perf_counter parse` | |
INFO:root:Running `../cpython/python.exe performance/bm_elementtree.py -n 100 --timer perf_counter parse` | |
[13/45] etree_process... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_elementtree.py -n 100 --timer perf_counter process` | |
INFO:root:Running `../cpython/python.exe performance/bm_elementtree.py -n 100 --timer perf_counter process` | |
[14/45] fannkuch... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_fannkuch.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_fannkuch.py -n 100 --timer perf_counter` | |
[15/45] fastpickle... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle` | |
INFO:root:Running `../cpython/python.exe performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle` | |
[16/45] fastunpickle... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle` | |
INFO:root:Running `../cpython/python.exe performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle` | |
[17/45] float... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_float.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_float.py -n 100 --timer perf_counter` | |
[18/45] formatted_logging... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_logging.py -n 100 --timer perf_counter formatted_output` | |
INFO:root:Running `../cpython/python.exe performance/bm_logging.py -n 100 --timer perf_counter formatted_output` | |
[19/45] go... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_go.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_go.py -n 100 --timer perf_counter` | |
[20/45] hexiom2... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_hexiom2.py -n 4 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_hexiom2.py -n 4 --timer perf_counter` | |
[21/45] html5lib... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_html5lib.py -n 1` | |
INFO:root:Running `../cpython-git/python.exe performance/bm_html5lib.py -n 1` 10 times | |
INFO:root:Running `../cpython/python.exe performance/bm_html5lib.py -n 1` | |
INFO:root:Running `../cpython/python.exe performance/bm_html5lib.py -n 1` 10 times | |
[22/45] html5lib_warmup... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_html5lib.py -n 10 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_html5lib.py -n 10 --timer perf_counter` | |
[23/45] json_dump_v2... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_json_v2.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_json_v2.py -n 100 --timer perf_counter` | |
[24/45] json_load... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_json.py -n 100 --timer perf_counter json_load` | |
INFO:root:Running `../cpython/python.exe performance/bm_json.py -n 100 --timer perf_counter json_load` | |
[25/45] mako_v2... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_mako_v2.py -n 1000 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_mako_v2.py -n 1000 --timer perf_counter` | |
[26/45] meteor_contest... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_meteor_contest.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_meteor_contest.py -n 100 --timer perf_counter` | |
[27/45] nbody... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_nbody.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_nbody.py -n 100 --timer perf_counter` | |
[28/45] normal_startup... | |
INFO:root:Running `../cpython-git/python.exe -c ` 2000 times | |
INFO:root:Running `../cpython/python.exe -c ` 2000 times | |
[29/45] nqueens... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_nqueens.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_nqueens.py -n 100 --timer perf_counter` | |
[30/45] pathlib... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_pathlib.py -n 1000 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_pathlib.py -n 1000 --timer perf_counter` | |
[31/45] pickle_dict... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_dict` | |
INFO:root:Running `../cpython/python.exe performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_dict` | |
[32/45] pickle_list... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_list` | |
INFO:root:Running `../cpython/python.exe performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle pickle_list` | |
[33/45] pidigits... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_pidigits.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_pidigits.py -n 100 --timer perf_counter` | |
[34/45] raytrace... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_raytrace.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_raytrace.py -n 100 --timer perf_counter` | |
[35/45] regex_compile... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_regex_compile.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_regex_compile.py -n 100 --timer perf_counter` | |
[36/45] regex_effbot... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_regex_effbot.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_regex_effbot.py -n 100 --timer perf_counter` | |
[37/45] regex_v8... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_regex_v8.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_regex_v8.py -n 100 --timer perf_counter` | |
[38/45] richards... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_richards.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_richards.py -n 100 --timer perf_counter` | |
[39/45] silent_logging... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_logging.py -n 100 --timer perf_counter no_output` | |
INFO:root:Running `../cpython/python.exe performance/bm_logging.py -n 100 --timer perf_counter no_output` | |
[40/45] simple_logging... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_logging.py -n 100 --timer perf_counter simple_output` | |
INFO:root:Running `../cpython/python.exe performance/bm_logging.py -n 100 --timer perf_counter simple_output` | |
[41/45] spectral_norm... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_spectral_norm.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_spectral_norm.py -n 100 --timer perf_counter` | |
[42/45] startup_nosite... | |
INFO:root:Running `../cpython-git/python.exe -S -c ` 4000 times | |
INFO:root:Running `../cpython/python.exe -S -c ` 4000 times | |
[43/45] telco... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_telco.py -n 100 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_telco.py -n 100 --timer perf_counter` | |
[44/45] unpack_sequence... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_unpack_sequence.py -n 100000 --timer perf_counter` | |
INFO:root:Running `../cpython/python.exe performance/bm_unpack_sequence.py -n 100000 --timer perf_counter` | |
[45/45] unpickle_list... | |
INFO:root:Running `../cpython-git/python.exe performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle_list` | |
INFO:root:Running `../cpython/python.exe performance/bm_pickle.py -n 100 --timer perf_counter --use_cpickle unpickle_list` | |
Report on Darwin ysmbp.local 15.2.0 Darwin Kernel Version 15.2.0: Fri Nov 13 19:56:56 PST 2015; root:xnu-3248.20.55~2/RELEASE_X86_64 x86_64 i386 | |
Total CPU cores: 8 | |
### call_c_method ### | |
Min: 0.000143 -> 0.000129: 1.11x faster | |
Avg: 0.000169 -> 0.000131: 1.28x faster | |
Significant (t=17.56) | |
Stddev: 0.00004 -> 0.00001: 4.2080x smaller | |
### call_method ### | |
Min: 0.290276 -> 0.228430: 1.27x faster | |
Avg: 0.309836 -> 0.245849: 1.26x faster | |
Significant (t=84.31) | |
Stddev: 0.01038 -> 0.00806: 1.2875x smaller | |
### call_method_slots ### | |
Min: 0.290206 -> 0.222281: 1.31x faster | |
Avg: 0.316580 -> 0.240423: 1.32x faster | |
Significant (t=90.07) | |
Stddev: 0.01190 -> 0.00853: 1.3953x smaller | |
### call_method_unknown ### | |
Min: 0.290586 -> 0.271159: 1.07x faster | |
Avg: 0.314365 -> 0.296092: 1.06x faster | |
Significant (t=17.72) | |
Stddev: 0.01382 -> 0.01130: 1.2230x smaller | |
### call_simple ### | |
Min: 0.224076 -> 0.193530: 1.16x faster | |
Avg: 0.243908 -> 0.214306: 1.14x faster | |
Significant (t=19.11) | |
Stddev: 0.00905 -> 0.02525: 2.7916x larger | |
### chameleon_v2 ### | |
Min: 4.055300 -> 3.613572: 1.12x faster | |
Avg: 4.120764 -> 3.742761: 1.10x faster | |
Significant (t=28.13) | |
Stddev: 0.03622 -> 0.12939: 3.5718x larger | |
### django_v3 ### | |
Min: 0.397726 -> 0.378212: 1.05x faster | |
Avg: 0.410896 -> 0.391008: 1.05x faster | |
Significant (t=19.13) | |
Stddev: 0.00775 -> 0.00694: 1.1171x smaller | |
### etree_generate ### | |
Min: 0.199854 -> 0.193998: 1.03x faster | |
Avg: 0.207658 -> 0.201418: 1.03x faster | |
Significant (t=9.54) | |
Stddev: 0.00475 -> 0.00450: 1.0542x smaller | |
### etree_iterparse ### | |
Min: 0.174193 -> 0.167087: 1.04x faster | |
Avg: 0.183795 -> 0.175973: 1.04x faster | |
Significant (t=11.52) | |
Stddev: 0.00525 -> 0.00430: 1.2203x smaller | |
### etree_process ### | |
Min: 0.156048 -> 0.162202: 1.04x slower | |
Avg: 0.163529 -> 0.169467: 1.04x slower | |
Significant (t=-8.80) | |
Stddev: 0.00465 -> 0.00489: 1.0515x larger | |
### formatted_logging ### | |
Min: 0.221265 -> 0.210407: 1.05x faster | |
Avg: 0.232169 -> 0.218271: 1.06x faster | |
Significant (t=17.80) | |
Stddev: 0.00538 -> 0.00566: 1.0507x larger | |
### hexiom2 ### | |
Min: 121.527794 -> 112.407943: 1.08x faster | |
Avg: 128.085361 -> 112.819916: 1.14x faster | |
Significant (t=6.92) | |
Stddev: 4.40054 -> 0.35493: 12.3985x smaller | |
### html5lib ### | |
Min: 5.826512 -> 5.765984: 1.01x faster | |
Avg: 5.949893 -> 5.826560: 1.02x faster | |
Significant (t=2.76) | |
Stddev: 0.12268 -> 0.06968: 1.7607x smaller | |
### html5lib_warmup ### | |
Min: 5.860906 -> 5.626768: 1.04x faster | |
Avg: 5.923322 -> 5.719347: 1.04x faster | |
Significant (t=6.28) | |
Stddev: 0.05197 -> 0.08868: 1.7063x larger | |
### meteor_contest ### | |
Min: 0.180304 -> 0.173935: 1.04x faster | |
Avg: 0.187251 -> 0.180244: 1.04x faster | |
Significant (t=12.61) | |
Stddev: 0.00408 -> 0.00377: 1.0847x smaller | |
### nbody ### | |
Min: 0.206977 -> 0.211318: 1.02x slower | |
Avg: 0.213664 -> 0.218695: 1.02x slower | |
Significant (t=-7.54) | |
Stddev: 0.00461 -> 0.00482: 1.0437x larger | |
### pickle_dict ### | |
Min: 0.415269 -> 0.427307: 1.03x slower | |
Avg: 0.428963 -> 0.440879: 1.03x slower | |
Significant (t=-12.32) | |
Stddev: 0.00701 -> 0.00667: 1.0506x smaller | |
### pickle_list ### | |
Min: 0.249852 -> 0.257119: 1.03x slower | |
Avg: 0.259777 -> 0.266723: 1.03x slower | |
Significant (t=-9.42) | |
Stddev: 0.00530 -> 0.00513: 1.0341x smaller | |
### silent_logging ### | |
Min: 0.066535 -> 0.060981: 1.09x faster | |
Avg: 0.069761 -> 0.062966: 1.11x faster | |
Significant (t=18.42) | |
Stddev: 0.00288 -> 0.00231: 1.2486x smaller | |
### simple_logging ### | |
Min: 0.193298 -> 0.185675: 1.04x faster | |
Avg: 0.200990 -> 0.194375: 1.03x faster | |
Significant (t=10.06) | |
Stddev: 0.00415 -> 0.00511: 1.2313x larger | |
The following not significant results are hidden, use -v to show them: | |
2to3, chaos, etree_parse, fannkuch, fastpickle, fastunpickle, float, go, json_dump_v2, json_load, mako_v2, normal_startup, nqueens, pathlib, pidigits, raytrace, regex_compile, regex_effbot, regex_v8, richards, spectral_norm, startup_nosite, telco, unpack_sequence, unpickle_list. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment