Fwd: [Speed] CPython 3.7 is now faster than CPython 2.7 on most benchmarks

Hallo zusammen! Für die, die es nicht mitverfolgt haben, hier zur Info. Victor Stinner hat in den letzten Monaten viel Zeit investiert, um die Python Benchmark Suite auf den neuesten Stand zu bringen, Performance-Messungen zu stabilisieren und Ansatzpunkte zu identifizieren, um Python 3.6 und 3.7 schneller zu machen. Dabei wurden viele Performance-Probleme in der Python 3.x-Reihe gefunden und von den Python-Devs verbessert. Unten das Ergebnis im Vergleich zu Python 2.7: - 23 Benchmarks sind schneller in Python 3.7 - 29 Benchmarks sind gleich schnell - 12 Benchmarks sind langsamer, darunter die Startzeit und einige künstlich-reine Python-Benchmarks, für die es native Tools gibt Klingt für mich nach einer attraktiven Plattform. Stefan -------- Weitergeleitete Nachricht -------- Betreff: [Speed] CPython 3.7 is now faster than CPython 2.7 on most benchmarks Datum: Tue, 7 Feb 2017 16:59:41 +0100 Von: Victor Stinner Hi, FYI CPython 3.7 is now faster than CPython 2.7 on most benchmarks. It would be interesting to investigate why 12 benchmarks are still slower to check if we missed something obvious. Comparison, ignoring differences smaller than 10%: haypo@speed-python$ python3 -m perf compare_to 2017-01-03_11-17-2.7-5988caffbff9.json 2017-02-06_07-15-default-e06af4027546.json -G --min-speed=10 Slower (12): - python_startup_no_site: 3.11 ms +- 0.02 ms -> 8.33 ms +- 0.04 ms: 2.68x slower (+168%) - python_startup: 6.42 ms +- 0.04 ms -> 14.1 ms +- 0.1 ms: 2.20x slower (+120%) - unpickle_pure_python: 384 us +- 8 us -> 670 us +- 11 us: 1.74x slower (+74%) - spectral_norm: 194 ms +- 1 ms -> 259 ms +- 4 ms: 1.33x slower (+33%) - sqlite_synth: 6.70 us +- 0.11 us -> 8.49 us +- 0.16 us: 1.27x slower (+27%) - crypto_pyaes: 158 ms +- 1 ms -> 199 ms +- 2 ms: 1.26x slower (+26%) - xml_etree_parse: 193 ms +- 4 ms -> 242 ms +- 5 ms: 1.25x slower (+25%) - logging_format: 28.9 us +- 0.2 us -> 33.9 us +- 0.5 us: 1.17x slower (+17%) - xml_etree_iterparse: 154 ms +- 2 ms -> 179 ms +- 4 ms: 1.16x slower (+16%) - pickle_pure_python: 847 us +- 14 us -> 974 us +- 14 us: 1.15x slower (+15%) - logging_simple: 24.4 us +- 0.3 us -> 27.9 us +- 0.4 us: 1.14x slower (+14%) - go: 439 ms +- 3 ms -> 493 ms +- 7 ms: 1.12x slower (+12%) Faster (23): - telco: 634 ms +- 5 ms -> 14.7 ms +- 0.3 ms: 43.23x faster (-98%) - unpickle_list: 15.7 us +- 0.6 us -> 6.36 us +- 0.11 us: 2.47x faster (-59%) - pickle_list: 13.7 us +- 0.2 us -> 7.53 us +- 0.41 us: 1.81x faster (-45%) - pickle: 38.8 us +- 1.5 us -> 22.1 us +- 0.3 us: 1.76x faster (-43%) - mako: 56.0 ms +- 0.9 ms -> 32.0 ms +- 0.3 ms: 1.75x faster (-43%) - sympy_sum: 335 ms +- 11 ms -> 192 ms +- 6 ms: 1.74x faster (-43%) - sympy_expand: 1.65 sec +- 0.02 sec -> 949 ms +- 12 ms: 1.74x faster (-43%) - sympy_str: 678 ms +- 5 ms -> 425 ms +- 5 ms: 1.59x faster (-37%) - json_loads: 89.8 us +- 1.0 us -> 56.6 us +- 0.8 us: 1.59x faster (-37%) - scimark_lu: 483 ms +- 10 ms -> 352 ms +- 11 ms: 1.37x faster (-27%) - xml_etree_generate: 282 ms +- 3 ms -> 208 ms +- 2 ms: 1.36x faster (-26%) - call_method_slots: 15.3 ms +- 0.4 ms -> 11.2 ms +- 0.3 ms: 1.36x faster (-26%) - html5lib: 269 ms +- 7 ms -> 201 ms +- 5 ms: 1.34x faster (-25%) - call_method_unknown: 17.5 ms +- 0.3 ms -> 13.1 ms +- 0.1 ms: 1.34x faster (-25%) - call_method: 15.1 ms +- 0.3 ms -> 11.7 ms +- 0.2 ms: 1.29x faster (-23%) - sympy_integrate: 51.7 ms +- 0.6 ms -> 40.8 ms +- 0.3 ms: 1.27x faster (-21%) - unpack_sequence: 140 ns +- 3 ns -> 111 ns +- 1 ns: 1.26x faster (-21%) - regex_v8: 53.7 ms +- 0.9 ms -> 43.7 ms +- 0.6 ms: 1.23x faster (-19%) - 2to3: 763 ms +- 4 ms -> 622 ms +- 4 ms: 1.23x faster (-19%) - pickle_dict: 69.4 us +- 1.1 us -> 56.6 us +- 4.3 us: 1.23x faster (-18%) - call_simple: 12.7 ms +- 0.3 ms -> 10.3 ms +- 0.4 ms: 1.23x faster (-18%) - richards: 162 ms +- 2 ms -> 145 ms +- 5 ms: 1.12x faster (-11%) - float: 266 ms +- 2 ms -> 238 ms +- 3 ms: 1.12x faster (-10%) Benchmark hidden because not significant (29): (...) Ignored benchmarks (3) of 2017-01-03_11-17-2.7-5988caffbff9.json: hg_startup, pyflate, spambayes Victor
participants (1)
-
Stefan Behnel