Skip to content

Instantly share code, notes, and snippets.

@mdboom
Created January 8, 2025 16:14
Show Gist options
  • Save mdboom/0a12d97ab87cb32b55ecab3b1bd55f6e to your computer and use it in GitHub Desktop.
Save mdboom/0a12d97ab87cb32b55ecab3b1bd55f6e to your computer and use it in GitHub Desktop.

Results

darwin arm64 (darwin)

vs. 3.10.4

  • Geometric mean: 1.396x faster (HPT: reliability of 100.00%, 1.28x faster at 99th %ile)
  • Memory usage: 1.32x
  • missing benchmarks: aiohttp, asyncio_tcp, asyncio_tcp_ssl, chameleon, dask, flaskblogging, gunicorn, mypy2, pickle, pickle_dict, pickle_list, tornado_http, unpack_sequence, unpickle, unpickle_list
  • new benchmarks: async_tree_cpu_io_mixed_tg, async_tree_eager, async_tree_eager_cpu_io_mixed, async_tree_eager_cpu_io_mixed_tg, async_tree_eager_io, async_tree_eager_io_tg, async_tree_eager_memoization, async_tree_eager_memoization_tg, async_tree_eager_tg, async_tree_io_tg, async_tree_memoization_tg, async_tree_none_tg, bpe_tokeniser, connected_components, k_core, many_optionals, shortest_path, sphinx, subparsers
  • 📄table
  • 📈time plot

vs. 3.12.0

  • Geometric mean: 1.179x faster (HPT: reliability of 100.00%, 1.12x faster at 99th %ile)
  • Memory usage: 1.18x
  • missing benchmarks: aiohttp, asyncio_tcp, asyncio_tcp_ssl, chameleon, dask, gunicorn, mypy2, pickle, pickle_dict, pickle_list, tornado_http, unpack_sequence, unpickle, unpickle_list
  • new benchmarks: async_tree_eager, async_tree_eager_cpu_io_mixed, async_tree_eager_cpu_io_mixed_tg, async_tree_eager_io, async_tree_eager_io_tg, async_tree_eager_memoization, async_tree_eager_memoization_tg, async_tree_eager_tg, bpe_tokeniser, connected_components, genshi_text, genshi_xml, html5lib, k_core, many_optionals, pylint, shortest_path, sphinx, subparsers, thrift
  • 📄table
  • 📈time plot

vs. 3.13.0

  • Geometric mean: 1.187x faster (HPT: reliability of 100.00%, 1.13x faster at 99th %ile)
  • Memory usage: 1.03x
  • missing benchmarks: chameleon, dask, djangocms, gevent_hub, gunicorn, tornado_http
  • 📄table
  • 📈time plot

vs. base

Results vs. 3.10.4

  • fork: Fidget-Spinner
  • ref: tail_call
  • machine: darwin-arm64
  • commit hash: f1d3190
  • commit date: 2025-01-07
  • overall geometric mean: 1.396x faster
  • HPT reliability: 100.00%
  • HPT 99th percentile: 1.28x faster
  • Memory change: 1.32x

Benchmarks with tag 'apps':

Benchmark bm-20220323-darwin-arm64-python-v3.10.4-3.10.4-9d38120 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
2to3 192 ms 151 ms: 1.27x faster
docutils 1.73 sec 1.37 sec: 1.27x faster
html5lib 42.4 ms 29.0 ms: 1.46x faster
Geometric mean (ref) 1.33x faster

Benchmarks with tag 'asyncio':

Benchmark bm-20220323-darwin-arm64-python-v3.10.4-3.10.4-9d38120 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
async_tree_io 980 ms 348 ms: 2.81x faster
async_tree_none 388 ms 152 ms: 2.55x faster
async_tree_memoization 474 ms 191 ms: 2.48x faster
async_tree_cpu_io_mixed 649 ms 401 ms: 1.62x faster
Geometric mean (ref) 2.32x faster

Benchmarks with tag 'math':

Benchmark bm-20220323-darwin-arm64-python-v3.10.4-3.10.4-9d38120 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
float 69.0 ms 43.4 ms: 1.59x faster
nbody 93.0 ms 60.2 ms: 1.54x faster
pidigits 282 ms 280 ms: 1.01x faster
Geometric mean (ref) 1.35x faster

Benchmarks with tag 'regex':

Benchmark bm-20220323-darwin-arm64-python-v3.10.4-3.10.4-9d38120 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
regex_compile 95.3 ms 61.9 ms: 1.54x faster
regex_dna 174 ms 138 ms: 1.26x faster
regex_effbot 2.46 ms 2.05 ms: 1.20x faster
regex_v8 17.1 ms 16.8 ms: 1.02x faster
Geometric mean (ref) 1.24x faster

Benchmarks with tag 'serialize':

Benchmark bm-20220323-darwin-arm64-python-v3.10.4-3.10.4-9d38120 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
unpickle_pure_python 194 us 120 us: 1.62x faster
pickle_pure_python 281 us 182 us: 1.54x faster
tomli_loads 1.71 sec 1.14 sec: 1.50x faster
xml_etree_process 46.5 ms 33.9 ms: 1.37x faster
json_dumps 8.11 ms 7.08 ms: 1.15x faster
xml_etree_generate 53.5 ms 48.4 ms: 1.10x faster
xml_etree_parse 108 ms 97.7 ms: 1.10x faster
xml_etree_iterparse 72.1 ms 68.8 ms: 1.05x faster
json_loads 16.4 us 16.1 us: 1.02x faster
Geometric mean (ref) 1.25x faster

Benchmarks with tag 'startup':

Benchmark bm-20220323-darwin-arm64-python-v3.10.4-3.10.4-9d38120 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
python_startup 10.9 ms 18.6 ms: 1.71x slower
python_startup_no_site 7.91 ms 13.6 ms: 1.72x slower
Geometric mean (ref) 1.72x slower

Benchmarks with tag 'template':

Benchmark bm-20220323-darwin-arm64-python-v3.10.4-3.10.4-9d38120 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
mako 9.87 ms 6.91 ms: 1.43x faster
genshi_text 17.3 ms 12.4 ms: 1.39x faster
django_template 26.4 ms 19.1 ms: 1.38x faster
genshi_xml 33.8 ms 26.5 ms: 1.28x faster
Geometric mean (ref) 1.37x faster

All benchmarks:

Benchmark bm-20220323-darwin-arm64-python-v3.10.4-3.10.4-9d38120 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
typing_runtime_protocols 323 us 89.7 us: 3.60x faster
async_tree_io 980 ms 348 ms: 2.81x faster
async_tree_none 388 ms 152 ms: 2.55x faster
async_tree_memoization 474 ms 191 ms: 2.48x faster
deltablue 4.91 ms 2.05 ms: 2.40x faster
go 151 ms 70.9 ms: 2.13x faster
deepcopy_memo 34.7 us 16.5 us: 2.10x faster
logging_silent 117 ns 57.8 ns: 2.03x faster
raytrace 301 ms 152 ms: 1.98x faster
deepcopy 272 us 140 us: 1.95x faster
chaos 65.8 ms 34.5 ms: 1.91x faster
generators 32.3 ms 17.2 ms: 1.88x faster
richards_super 57.8 ms 30.8 ms: 1.88x faster
pylint 277 ms 150 ms: 1.84x faster
sqlglot_parse 1.24 ms 684 us: 1.82x faster
richards 48.7 ms 27.4 ms: 1.78x faster
scimark_sor 128 ms 72.7 ms: 1.76x faster
scimark_monte_carlo 65.6 ms 37.6 ms: 1.74x faster
sqlglot_transpile 1.44 ms 840 us: 1.72x faster
asyncio_websockets 410 ms 242 ms: 1.70x faster
hexiom 6.19 ms 3.71 ms: 1.67x faster
unpickle_pure_python 194 us 120 us: 1.62x faster
async_tree_cpu_io_mixed 649 ms 401 ms: 1.62x faster
deepcopy_reduce 2.33 us 1.46 us: 1.60x faster
spectral_norm 94.8 ms 59.4 ms: 1.60x faster
scimark_lu 103 ms 64.6 ms: 1.59x faster
float 69.0 ms 43.4 ms: 1.59x faster
comprehensions 16.9 us 10.7 us: 1.58x faster
nbody 93.0 ms 60.2 ms: 1.54x faster
pickle_pure_python 281 us 182 us: 1.54x faster
crypto_pyaes 71.8 ms 46.6 ms: 1.54x faster
regex_compile 95.3 ms 61.9 ms: 1.54x faster
logging_simple 4.45 us 2.92 us: 1.52x faster
pyflate 427 ms 282 ms: 1.51x faster
logging_format 4.83 us 3.23 us: 1.50x faster
tomli_loads 1.71 sec 1.14 sec: 1.50x faster
pprint_pformat 1.30 sec 875 ms: 1.49x faster
pprint_safe_repr 641 ms 437 ms: 1.47x faster
html5lib 42.4 ms 29.0 ms: 1.46x faster
pycparser 877 ms 609 ms: 1.44x faster
sqlalchemy_imperative 8.86 ms 6.15 ms: 1.44x faster
mako 9.87 ms 6.91 ms: 1.43x faster
coroutines 20.7 ms 14.7 ms: 1.41x faster
genshi_text 17.3 ms 12.4 ms: 1.39x faster
django_template 26.4 ms 19.1 ms: 1.38x faster
thrift 572 us 416 us: 1.37x faster
xml_etree_process 46.5 ms 33.9 ms: 1.37x faster
dulwich_log 35.3 ms 26.2 ms: 1.35x faster
scimark_fft 224 ms 167 ms: 1.35x faster
sympy_sum 92.2 ms 69.3 ms: 1.33x faster
sqlalchemy_declarative 73.3 ms 55.3 ms: 1.33x faster
scimark_sparse_mat_mult 3.42 ms 2.60 ms: 1.32x faster
sympy_integrate 13.1 ms 10.2 ms: 1.29x faster
genshi_xml 33.8 ms 26.5 ms: 1.28x faster
sympy_str 165 ms 130 ms: 1.27x faster
2to3 192 ms 151 ms: 1.27x faster
docutils 1.73 sec 1.37 sec: 1.27x faster
fannkuch 303 ms 240 ms: 1.26x faster
regex_dna 174 ms 138 ms: 1.26x faster
nqueens 63.8 ms 50.7 ms: 1.26x faster
sympy_expand 269 ms 220 ms: 1.22x faster
sqlglot_optimize 36.8 ms 30.4 ms: 1.21x faster
regex_effbot 2.46 ms 2.05 ms: 1.20x faster
bench_thread_pool 527 us 454 us: 1.16x faster
json_dumps 8.11 ms 7.08 ms: 1.15x faster
mdp 1.63 sec 1.43 sec: 1.14x faster
sqlglot_normalize 190 ms 167 ms: 1.14x faster
meteor_contest 77.7 ms 70.0 ms: 1.11x faster
json 3.08 ms 2.78 ms: 1.11x faster
xml_etree_generate 53.5 ms 48.4 ms: 1.10x faster
xml_etree_parse 108 ms 97.7 ms: 1.10x faster
pathlib 24.5 ms 22.5 ms: 1.09x faster
xml_etree_iterparse 72.1 ms 68.8 ms: 1.05x faster
json_loads 16.4 us 16.1 us: 1.02x faster
regex_v8 17.1 ms 16.8 ms: 1.02x faster
pidigits 282 ms 280 ms: 1.01x faster
sqlite_synth 1.46 us 1.54 us: 1.05x slower
coverage 41.5 ms 45.0 ms: 1.08x slower
async_generators 231 ms 279 ms: 1.21x slower
telco 3.49 ms 4.41 ms: 1.26x slower
gc_traversal 2.36 ms 3.06 ms: 1.30x slower
create_gc_cycles 860 us 1.27 ms: 1.47x slower
bench_mp_pool 37.4 ms 59.9 ms: 1.60x slower
python_startup 10.9 ms 18.6 ms: 1.71x slower
python_startup_no_site 7.91 ms 13.6 ms: 1.72x slower
Geometric mean (ref) 1.39x faster
Ignored benchmarks (15) of results/bm-20220323-3.10.4-9d38120/bm-20220323-darwin-arm64-python-v3.10.4-3.10.4-9d38120.json: aiohttp, asyncio_tcp, asyncio_tcp_ssl, chameleon, dask, flaskblogging, gunicorn, mypy2, pickle, pickle_dict, pickle_list, tornado_http, unpack_sequence, unpickle, unpickle_list
Ignored benchmarks (19) of results/bm-20250107-3.14.0a3+-f1d3190/bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190.json: async_tree_cpu_io_mixed_tg, async_tree_eager, async_tree_eager_cpu_io_mixed, async_tree_eager_cpu_io_mixed_tg, async_tree_eager_io, async_tree_eager_io_tg, async_tree_eager_memoization, async_tree_eager_memoization_tg, async_tree_eager_tg, async_tree_io_tg, async_tree_memoization_tg, async_tree_none_tg, bpe_tokeniser, connected_components, k_core, many_optionals, shortest_path, sphinx, subparsers
  • Geometric mean (including insignificant results): 1.396x faster

HPT report

  • Reliability score: 100.00% likely to be faster
  • 90% likely to have a speedup of 1.33x
  • 95% likely to have a speedup of 1.32x
  • 99% likely to have a speedup of 1.28x

Memory

  • memory change: 1.32x
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Results vs. 3.12.0

  • fork: Fidget-Spinner
  • ref: tail_call
  • machine: darwin-arm64
  • commit hash: f1d3190
  • commit date: 2025-01-07
  • overall geometric mean: 1.179x faster
  • HPT reliability: 100.00%
  • HPT 99th percentile: 1.12x faster
  • Memory change: 1.18x

Benchmarks with tag 'apps':

Benchmark bm-20231002-darwin-arm64-python-v3.12.0-3.12.0-0fb18b0 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
2to3 169 ms 151 ms: 1.12x faster
docutils 1.50 sec 1.37 sec: 1.10x faster
Geometric mean (ref) 1.11x faster

Benchmarks with tag 'asyncio':

Benchmark bm-20231002-darwin-arm64-python-v3.12.0-3.12.0-0fb18b0 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
async_tree_io_tg 669 ms 331 ms: 2.02x faster
async_tree_io 668 ms 348 ms: 1.92x faster
async_tree_none_tg 258 ms 138 ms: 1.86x faster
async_tree_memoization_tg 323 ms 181 ms: 1.79x faster
async_tree_none 266 ms 152 ms: 1.74x faster
async_tree_memoization 312 ms 191 ms: 1.64x faster
async_tree_cpu_io_mixed_tg 532 ms 398 ms: 1.34x faster
async_tree_cpu_io_mixed 526 ms 401 ms: 1.31x faster
Geometric mean (ref) 1.68x faster

Benchmarks with tag 'math':

Benchmark bm-20231002-darwin-arm64-python-v3.12.0-3.12.0-0fb18b0 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
float 55.8 ms 43.4 ms: 1.29x faster
nbody 68.8 ms 60.2 ms: 1.14x faster
pidigits 282 ms 280 ms: 1.01x faster
Geometric mean (ref) 1.14x faster

Benchmarks with tag 'regex':

Benchmark bm-20231002-darwin-arm64-python-v3.12.0-3.12.0-0fb18b0 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
regex_effbot 2.64 ms 2.05 ms: 1.29x faster
regex_compile 77.9 ms 61.9 ms: 1.26x faster
regex_dna 154 ms 138 ms: 1.12x faster
regex_v8 16.0 ms 16.8 ms: 1.05x slower
Geometric mean (ref) 1.14x faster

Benchmarks with tag 'serialize':

Benchmark bm-20231002-darwin-arm64-python-v3.12.0-3.12.0-0fb18b0 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
unpickle_pure_python 151 us 120 us: 1.25x faster
tomli_loads 1.39 sec 1.14 sec: 1.22x faster
xml_etree_process 39.7 ms 33.9 ms: 1.17x faster
xml_etree_generate 55.8 ms 48.4 ms: 1.15x faster
pickle_pure_python 200 us 182 us: 1.10x faster
xml_etree_parse 106 ms 97.7 ms: 1.09x faster
xml_etree_iterparse 74.0 ms 68.8 ms: 1.08x faster
json_loads 17.2 us 16.1 us: 1.07x faster
json_dumps 6.22 ms 7.08 ms: 1.14x slower
Geometric mean (ref) 1.11x faster

Benchmarks with tag 'startup':

Benchmark bm-20231002-darwin-arm64-python-v3.12.0-3.12.0-0fb18b0 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
python_startup_no_site 9.37 ms 13.6 ms: 1.45x slower
python_startup 11.4 ms 18.6 ms: 1.63x slower
Geometric mean (ref) 1.54x slower

Benchmarks with tag 'template':

Benchmark bm-20231002-darwin-arm64-python-v3.12.0-3.12.0-0fb18b0 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
django_template 22.3 ms 19.1 ms: 1.17x faster
mako 7.71 ms 6.91 ms: 1.12x faster
Geometric mean (ref) 1.14x faster

All benchmarks:

Benchmark bm-20231002-darwin-arm64-python-v3.12.0-3.12.0-0fb18b0 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
async_tree_io_tg 669 ms 331 ms: 2.02x faster
async_tree_io 668 ms 348 ms: 1.92x faster
async_tree_none_tg 258 ms 138 ms: 1.86x faster
generators 31.1 ms 17.2 ms: 1.81x faster
async_tree_memoization_tg 323 ms 181 ms: 1.79x faster
async_tree_none 266 ms 152 ms: 1.74x faster
asyncio_websockets 409 ms 242 ms: 1.69x faster
deepcopy 235 us 140 us: 1.68x faster
deepcopy_memo 27.7 us 16.5 us: 1.67x faster
async_tree_memoization 312 ms 191 ms: 1.64x faster
go 102 ms 70.9 ms: 1.43x faster
deepcopy_reduce 2.07 us 1.46 us: 1.42x faster
raytrace 212 ms 152 ms: 1.39x faster
comprehensions 14.5 us 10.7 us: 1.35x faster
async_tree_cpu_io_mixed_tg 532 ms 398 ms: 1.34x faster
logging_silent 76.4 ns 57.8 ns: 1.32x faster
deltablue 2.71 ms 2.05 ms: 1.32x faster
coroutines 19.2 ms 14.7 ms: 1.31x faster
async_tree_cpu_io_mixed 526 ms 401 ms: 1.31x faster
spectral_norm 76.4 ms 59.4 ms: 1.29x faster
float 55.8 ms 43.4 ms: 1.29x faster
regex_effbot 2.64 ms 2.05 ms: 1.29x faster
logging_simple 3.69 us 2.92 us: 1.26x faster
regex_compile 77.9 ms 61.9 ms: 1.26x faster
unpickle_pure_python 151 us 120 us: 1.25x faster
sqlglot_parse 848 us 684 us: 1.24x faster
logging_format 3.98 us 3.23 us: 1.23x faster
chaos 42.5 ms 34.5 ms: 1.23x faster
nqueens 62.4 ms 50.7 ms: 1.23x faster
hexiom 4.54 ms 3.71 ms: 1.22x faster
tomli_loads 1.39 sec 1.14 sec: 1.22x faster
sqlglot_transpile 1.02 ms 840 us: 1.22x faster
scimark_sparse_mat_mult 3.14 ms 2.60 ms: 1.20x faster
scimark_sor 87.4 ms 72.7 ms: 1.20x faster
scimark_monte_carlo 45.0 ms 37.6 ms: 1.20x faster
scimark_lu 76.0 ms 64.6 ms: 1.18x faster
richards 32.1 ms 27.4 ms: 1.17x faster
xml_etree_process 39.7 ms 33.9 ms: 1.17x faster
richards_super 36.0 ms 30.8 ms: 1.17x faster
django_template 22.3 ms 19.1 ms: 1.17x faster
scimark_fft 195 ms 167 ms: 1.17x faster
pprint_pformat 1.01 sec 875 ms: 1.16x faster
xml_etree_generate 55.8 ms 48.4 ms: 1.15x faster
nbody 68.8 ms 60.2 ms: 1.14x faster
pprint_safe_repr 497 ms 437 ms: 1.14x faster
sympy_str 148 ms 130 ms: 1.14x faster
dulwich_log 29.8 ms 26.2 ms: 1.14x faster
sqlalchemy_declarative 62.3 ms 55.3 ms: 1.13x faster
2to3 169 ms 151 ms: 1.12x faster
sqlglot_optimize 34.0 ms 30.4 ms: 1.12x faster
sympy_sum 77.6 ms 69.3 ms: 1.12x faster
sympy_integrate 11.4 ms 10.2 ms: 1.12x faster
pyflate 316 ms 282 ms: 1.12x faster
regex_dna 154 ms 138 ms: 1.12x faster
mako 7.71 ms 6.91 ms: 1.12x faster
sqlglot_normalize 186 ms 167 ms: 1.11x faster
pycparser 677 ms 609 ms: 1.11x faster
crypto_pyaes 51.9 ms 46.6 ms: 1.11x faster
json 3.09 ms 2.78 ms: 1.11x faster
bench_thread_pool 504 us 454 us: 1.11x faster
mdp 1.58 sec 1.43 sec: 1.11x faster
docutils 1.50 sec 1.37 sec: 1.10x faster
sympy_expand 241 ms 220 ms: 1.10x faster
pickle_pure_python 200 us 182 us: 1.10x faster
xml_etree_parse 106 ms 97.7 ms: 1.09x faster
async_generators 304 ms 279 ms: 1.09x faster
sqlalchemy_imperative 6.68 ms 6.15 ms: 1.09x faster
pathlib 24.2 ms 22.5 ms: 1.08x faster
xml_etree_iterparse 74.0 ms 68.8 ms: 1.08x faster
json_loads 17.2 us 16.1 us: 1.07x faster
typing_runtime_protocols 93.0 us 89.7 us: 1.04x faster
fannkuch 248 ms 240 ms: 1.04x faster
meteor_contest 71.7 ms 70.0 ms: 1.03x faster
sqlite_synth 1.57 us 1.54 us: 1.02x faster
pidigits 282 ms 280 ms: 1.01x faster
regex_v8 16.0 ms 16.8 ms: 1.05x slower
json_dumps 6.22 ms 7.08 ms: 1.14x slower
coverage 38.9 ms 45.0 ms: 1.16x slower
telco 3.68 ms 4.41 ms: 1.20x slower
gc_traversal 2.40 ms 3.06 ms: 1.28x slower
bench_mp_pool 44.9 ms 59.9 ms: 1.33x slower
python_startup_no_site 9.37 ms 13.6 ms: 1.45x slower
python_startup 11.4 ms 18.6 ms: 1.63x slower
create_gc_cycles 701 us 1.27 ms: 1.81x slower
Geometric mean (ref) 1.18x faster
Ignored benchmarks (14) of results/bm-20231002-3.12.0-0fb18b0/bm-20231002-darwin-arm64-python-v3.12.0-3.12.0-0fb18b0.json: aiohttp, asyncio_tcp, asyncio_tcp_ssl, chameleon, dask, gunicorn, mypy2, pickle, pickle_dict, pickle_list, tornado_http, unpack_sequence, unpickle, unpickle_list
Ignored benchmarks (20) of results/bm-20250107-3.14.0a3+-f1d3190/bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190.json: async_tree_eager, async_tree_eager_cpu_io_mixed, async_tree_eager_cpu_io_mixed_tg, async_tree_eager_io, async_tree_eager_io_tg, async_tree_eager_memoization, async_tree_eager_memoization_tg, async_tree_eager_tg, bpe_tokeniser, connected_components, genshi_text, genshi_xml, html5lib, k_core, many_optionals, pylint, shortest_path, sphinx, subparsers, thrift
  • Geometric mean (including insignificant results): 1.179x faster

HPT report

  • Reliability score: 100.00% likely to be faster
  • 90% likely to have a speedup of 1.13x
  • 95% likely to have a speedup of 1.13x
  • 99% likely to have a speedup of 1.12x

Memory

  • memory change: 1.18x
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Results vs. 3.13.0

  • fork: Fidget-Spinner
  • ref: tail_call
  • machine: darwin-arm64
  • commit hash: f1d3190
  • commit date: 2025-01-07
  • overall geometric mean: 1.187x faster
  • HPT reliability: 100.00%
  • HPT 99th percentile: 1.13x faster
  • Memory change: 1.03x

Benchmarks with tag 'apps':

Benchmark bm-20241007-darwin-arm64-python-v3.13.0-3.13.0-60403a5 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
2to3 181 ms 151 ms: 1.20x faster
docutils 1.44 sec 1.37 sec: 1.06x faster
html5lib 36.6 ms 29.0 ms: 1.26x faster
sphinx 600 ms 539 ms: 1.11x faster
Geometric mean (ref) 1.16x faster

Benchmarks with tag 'asyncio':

Benchmark bm-20241007-darwin-arm64-python-v3.13.0-3.13.0-60403a5 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
async_tree_memoization_tg 289 ms 181 ms: 1.60x faster
async_tree_eager_io 514 ms 340 ms: 1.51x faster
async_tree_io_tg 499 ms 331 ms: 1.51x faster
async_tree_io 510 ms 348 ms: 1.47x faster
async_tree_none_tg 199 ms 138 ms: 1.44x faster
async_tree_memoization 268 ms 191 ms: 1.41x faster
async_tree_none 212 ms 152 ms: 1.39x faster
async_tree_eager_io_tg 481 ms 345 ms: 1.39x faster
coroutines 19.8 ms 14.7 ms: 1.35x faster
async_tree_eager_memoization 168 ms 135 ms: 1.25x faster
async_tree_eager_memoization_tg 138 ms 115 ms: 1.19x faster
async_tree_eager 69.9 ms 58.8 ms: 1.19x faster
async_tree_eager_tg 48.0 ms 40.4 ms: 1.19x faster
async_tree_cpu_io_mixed 460 ms 401 ms: 1.15x faster
async_tree_cpu_io_mixed_tg 448 ms 398 ms: 1.13x faster
async_tree_eager_cpu_io_mixed 373 ms 350 ms: 1.06x faster
async_tree_eager_cpu_io_mixed_tg 346 ms 329 ms: 1.05x faster
async_generators 292 ms 279 ms: 1.05x faster
asyncio_websockets 243 ms 242 ms: 1.01x faster
Geometric mean (ref) 1.27x faster

Benchmarks with tag 'math':

Benchmark bm-20241007-darwin-arm64-python-v3.13.0-3.13.0-60403a5 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
float 56.3 ms 43.4 ms: 1.30x faster
nbody 73.9 ms 60.2 ms: 1.23x faster
pidigits 284 ms 280 ms: 1.01x faster
Geometric mean (ref) 1.17x faster

Benchmarks with tag 'regex':

Benchmark bm-20241007-darwin-arm64-python-v3.13.0-3.13.0-60403a5 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
regex_effbot 2.62 ms 2.05 ms: 1.27x faster
regex_compile 78.6 ms 61.9 ms: 1.27x faster
regex_dna 148 ms 138 ms: 1.07x faster
regex_v8 17.0 ms 16.8 ms: 1.01x faster
Geometric mean (ref) 1.15x faster

Benchmarks with tag 'serialize':

Benchmark bm-20241007-darwin-arm64-python-v3.13.0-3.13.0-60403a5 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
tomli_loads 1.56 sec 1.14 sec: 1.37x faster
unpickle_pure_python 164 us 120 us: 1.37x faster
xml_etree_process 41.0 ms 33.9 ms: 1.21x faster
xml_etree_generate 57.0 ms 48.4 ms: 1.18x faster
pickle_pure_python 214 us 182 us: 1.17x faster
xml_etree_parse 107 ms 97.7 ms: 1.10x faster
xml_etree_iterparse 74.1 ms 68.8 ms: 1.08x faster
json_loads 17.0 us 16.1 us: 1.06x faster
json_dumps 6.51 ms 7.08 ms: 1.09x slower
Geometric mean (ref) 1.15x faster

Benchmarks with tag 'startup':

Benchmark bm-20241007-darwin-arm64-python-v3.13.0-3.13.0-60403a5 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
python_startup_no_site 15.8 ms 13.6 ms: 1.16x faster
python_startup 20.6 ms 18.6 ms: 1.11x faster
Geometric mean (ref) 1.13x faster

Benchmarks with tag 'template':

Benchmark bm-20241007-darwin-arm64-python-v3.13.0-3.13.0-60403a5 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
genshi_text 16.9 ms 12.4 ms: 1.36x faster
genshi_xml 34.1 ms 26.5 ms: 1.29x faster
mako 7.70 ms 6.91 ms: 1.11x faster
django_template 20.5 ms 19.1 ms: 1.08x faster
Geometric mean (ref) 1.20x faster

All benchmarks:

Benchmark bm-20241007-darwin-arm64-python-v3.13.0-3.13.0-60403a5 bm-20250107-darwin-arm64-Fidget%2dSpinner-tail_call-3.14.0a3+-f1d3190
generators 31.5 ms 17.2 ms: 1.83x faster
deepcopy 234 us 140 us: 1.68x faster
deepcopy_memo 27.3 us 16.5 us: 1.65x faster
go 115 ms 70.9 ms: 1.62x faster
async_tree_memoization_tg 289 ms 181 ms: 1.60x faster
async_tree_eager_io 514 ms 340 ms: 1.51x faster
async_tree_io_tg 499 ms 331 ms: 1.51x faster
async_tree_io 510 ms 348 ms: 1.47x faster
scimark_sor 106 ms 72.7 ms: 1.45x faster
async_tree_none_tg 199 ms 138 ms: 1.44x faster
deepcopy_reduce 2.08 us 1.46 us: 1.43x faster
async_tree_memoization 268 ms 191 ms: 1.41x faster
async_tree_none 212 ms 152 ms: 1.39x faster
async_tree_eager_io_tg 481 ms 345 ms: 1.39x faster
tomli_loads 1.56 sec 1.14 sec: 1.37x faster
unpickle_pure_python 164 us 120 us: 1.37x faster
genshi_text 16.9 ms 12.4 ms: 1.36x faster
coroutines 19.8 ms 14.7 ms: 1.35x faster
scimark_monte_carlo 50.6 ms 37.6 ms: 1.35x faster
hexiom 4.83 ms 3.71 ms: 1.30x faster
deltablue 2.67 ms 2.05 ms: 1.30x faster
float 56.3 ms 43.4 ms: 1.30x faster
genshi_xml 34.1 ms 26.5 ms: 1.29x faster
spectral_norm 76.3 ms 59.4 ms: 1.28x faster
richards 35.2 ms 27.4 ms: 1.28x faster
regex_effbot 2.62 ms 2.05 ms: 1.27x faster
richards_super 39.2 ms 30.8 ms: 1.27x faster
regex_compile 78.6 ms 61.9 ms: 1.27x faster
html5lib 36.6 ms 29.0 ms: 1.26x faster
pyflate 355 ms 282 ms: 1.26x faster
sqlglot_parse 859 us 684 us: 1.26x faster
pprint_pformat 1.10 sec 875 ms: 1.26x faster
async_tree_eager_memoization 168 ms 135 ms: 1.25x faster
logging_simple 3.59 us 2.92 us: 1.23x faster
nbody 73.9 ms 60.2 ms: 1.23x faster
pprint_safe_repr 535 ms 437 ms: 1.23x faster
sqlglot_transpile 1.03 ms 840 us: 1.22x faster
nqueens 61.8 ms 50.7 ms: 1.22x faster
logging_silent 70.1 ns 57.8 ns: 1.21x faster
xml_etree_process 41.0 ms 33.9 ms: 1.21x faster
logging_format 3.90 us 3.23 us: 1.21x faster
2to3 181 ms 151 ms: 1.20x faster
scimark_fft 200 ms 167 ms: 1.20x faster
chaos 41.3 ms 34.5 ms: 1.20x faster
pylint 179 ms 150 ms: 1.19x faster
async_tree_eager_memoization_tg 138 ms 115 ms: 1.19x faster
raytrace 181 ms 152 ms: 1.19x faster
fannkuch 285 ms 240 ms: 1.19x faster
scimark_lu 76.7 ms 64.6 ms: 1.19x faster
async_tree_eager 69.9 ms 58.8 ms: 1.19x faster
async_tree_eager_tg 48.0 ms 40.4 ms: 1.19x faster
xml_etree_generate 57.0 ms 48.4 ms: 1.18x faster
pickle_pure_python 214 us 182 us: 1.17x faster
crypto_pyaes 54.4 ms 46.6 ms: 1.17x faster
pycparser 708 ms 609 ms: 1.16x faster
python_startup_no_site 15.8 ms 13.6 ms: 1.16x faster
scimark_sparse_mat_mult 3.00 ms 2.60 ms: 1.15x faster
async_tree_cpu_io_mixed 460 ms 401 ms: 1.15x faster
sqlglot_optimize 34.8 ms 30.4 ms: 1.14x faster
typing_runtime_protocols 103 us 89.7 us: 1.14x faster
bpe_tokeniser 3.25 sec 2.86 sec: 1.14x faster
sqlglot_normalize 188 ms 167 ms: 1.13x faster
async_tree_cpu_io_mixed_tg 448 ms 398 ms: 1.13x faster
sympy_expand 247 ms 220 ms: 1.13x faster
bench_thread_pool 508 us 454 us: 1.12x faster
comprehensions 12.0 us 10.7 us: 1.12x faster
thrift 465 us 416 us: 1.12x faster
sympy_str 145 ms 130 ms: 1.12x faster
sympy_integrate 11.3 ms 10.2 ms: 1.11x faster
mako 7.70 ms 6.91 ms: 1.11x faster
sphinx 600 ms 539 ms: 1.11x faster
python_startup 20.6 ms 18.6 ms: 1.11x faster
k_core 1.62 sec 1.47 sec: 1.10x faster
json 3.06 ms 2.78 ms: 1.10x faster
xml_etree_parse 107 ms 97.7 ms: 1.10x faster
shortest_path 349 ms 320 ms: 1.09x faster
dulwich_log 28.6 ms 26.2 ms: 1.09x faster
sqlalchemy_imperative 6.68 ms 6.15 ms: 1.09x faster
telco 4.79 ms 4.41 ms: 1.09x faster
sympy_sum 75.1 ms 69.3 ms: 1.08x faster
bench_mp_pool 64.9 ms 59.9 ms: 1.08x faster
xml_etree_iterparse 74.1 ms 68.8 ms: 1.08x faster
django_template 20.5 ms 19.1 ms: 1.08x faster
meteor_contest 75.1 ms 70.0 ms: 1.07x faster
regex_dna 148 ms 138 ms: 1.07x faster
sqlalchemy_declarative 59.1 ms 55.3 ms: 1.07x faster
connected_components 320 ms 300 ms: 1.07x faster
async_tree_eager_cpu_io_mixed 373 ms 350 ms: 1.06x faster
json_loads 17.0 us 16.1 us: 1.06x faster
docutils 1.44 sec 1.37 sec: 1.06x faster
async_tree_eager_cpu_io_mixed_tg 346 ms 329 ms: 1.05x faster
mdp 1.50 sec 1.43 sec: 1.05x faster
async_generators 292 ms 279 ms: 1.05x faster
pathlib 23.3 ms 22.5 ms: 1.04x faster
pidigits 284 ms 280 ms: 1.01x faster
regex_v8 17.0 ms 16.8 ms: 1.01x faster
coverage 45.5 ms 45.0 ms: 1.01x faster
sqlite_synth 1.56 us 1.54 us: 1.01x faster
asyncio_websockets 243 ms 242 ms: 1.01x faster
gc_traversal 2.93 ms 3.06 ms: 1.04x slower
create_gc_cycles 1.20 ms 1.27 ms: 1.06x slower
json_dumps 6.51 ms 7.08 ms: 1.09x slower
subparsers 9.50 ms 11.4 ms: 1.20x slower
many_optionals 324 us 423 us: 1.30x slower
Geometric mean (ref) 1.19x faster
Ignored benchmarks (6) of results/bm-20241007-3.13.0-60403a5/bm-20241007-darwin-arm64-python-v3.13.0-3.13.0-60403a5.json: chameleon, dask, djangocms, gevent_hub, gunicorn, tornado_http
  • Geometric mean (including insignificant results): 1.187x faster

HPT report

  • Reliability score: 100.00% likely to be faster
  • 90% likely to have a speedup of 1.14x
  • 95% likely to have a speedup of 1.13x
  • 99% likely to have a speedup of 1.13x

Memory

  • memory change: 1.03x
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View raw

(Sorry about that, but we can’t show files that are this big right now.)

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment