Application benchmarks
- CPU
- AMD EPYC 9V45 96-Core Processor · 4 logical CPUs
- OS
- Linux-6.17.0-1022-azure-x86_64-with-glibc2.39
- Samples
- 20
- Run duration
- 11m 19s
Measurement details
- Repeated warmups
- 3
- Timing
- Median ms · one-shot / repeated · startup excluded
- RSS
- Median MiB · separate one-shot processes including startup
- Startup
- Empty -c command · launch through exit · normal defaults
- Sort
- Percentage advantage vs CPython · largest improvement first; click headers to reorder
Monty 1.1.0 · CPython 3.14.8 · PyPy 8.0.0
Runtimes and build details
monty · monty · 1.1.0
/home/runner/work/flying-circus/flying-circus/_runtimes/monty/bin/monty
Prebuilt PyPI wheel: pydantic-monty-runtime==1.1.0; source revision and compiler flags unverifiedc9d19e7256886558c67678582d0d223de3eb05232f69da9da657ab9e090f3f35
cpython · cpython · Python 3.14.8
/opt/hostedtoolcache/Python/3.14.8/x64/bin/python3.14
Source revision and compiler flags unverifieda5230d8adbd26c2185d77fb003597c4ee9c44c2369fc179122ff7c3a3a58ae59
pypy · pypy · Python 3.11.16 (78565394c9b5, Sep 18 2026, 08:00:14)
[PyPy 8.0.0 with GCC 14.2.1 20250110 (Red Hat 14.2.1-11)]
/opt/hostedtoolcache/PyPy/3.11.16/x64/bin/pypy3.11
Source revision and compiler flags unverified7aebd6513a8f1dc8529abecf80d25b66951ddb5e9bab14b2750a7dab7947a94d
Process startup · ms
| Monty | CPython | PyPy |
|---|---|---|
| 1.46 | 8.56 | 16.4 |
Runtime · ms · one-shot / repeated
Bars: CPython = midpoint · blue above = faster, red below = slower · shared asinh scale (5% transition)
| Workload | Monty | CPython | PyPy |
|---|---|---|---|
| portfolio_risk | 95.9 / 101 | 45.9 / 47.2 | 7.19 / 8.52 |
| game_nbody | 445 / 460 | 67.4 / 69.8 | 11.0 / 11.8 |
| game_spectral_norm | 359 / 372 | 68.6 / 69.8 | 13.1 / 14.5 |
| game_fannkuch | n/a | 242 / 269 | 52.4 / 55.2 |
| expense_report | 0.33 / 0.27 | 1.11 / 0.38 | 0.26 / 0.43 |
| capacity_planning | 41.2 / 41.8 | 10.5 / 9.57 | 2.64 / 3.05 |
| api_report | 0.65 / 0.38 | 1.16 / 0.48 | 0.30 / 0.55 |
| perf_float | 234 / 211 | 53.1 / 52.4 | 14.2 / 15.1 |
| order_cleanup | 0.41 / 0.33 | 1.17 / 0.49 | 0.31 / 0.53 |
| perf_json_loads | 1.18 / 0.90 | 2.10 / 1.39 | 0.72 / 1.04 |
| perf_barnes_hut | 4050 / 4220 | 622 / 635 | 388 / 315 |
| game_regex_dna | n/a | 181 / 182 | 131 / 99.2 |
| stdout_lines | 2.09 / 2.04 | 3.64 / 2.57 | 3.76 / 3.24 |
| memory_string_list_short | 198 / 186 | 83.5 / 81.6 | 52.5 / 71.5 |
| perf_json_dumps | 8.64 / 7.18 | 11.7 / 11.1 | 12.9 / 10.6 |
| perf_gc_traversal | n/a | 13.6 / 14.7 | 9.04 / 1190 |
| memory_string_index_short | 99.1 / 91.6 | 61.3 / 62.5 | 68.1 / 41.7 |
| memory_customer_records | 455 / 420 | 144 / 154 | 135 / 103 |
| game_pidigits | n/a | 142 / 148 | 98.2 / 103 |
| text_json_parse_medium | 10.0 / 7.63 | 9.46 / 9.67 | 6.61 / 7.32 |
| text_csv_aggregate_medium | 384 / 382 | 71.3 / 72.0 | 60.5 / 51.2 |
| memory_string_index_long | 135 / 120 | 70.7 / 71.6 | 77.1 / 50.9 |
| text_json_lines_medium | 12.1 / 12.3 | 15.2 / 15.3 | 11.3 / 11.9 |
| text_json_parse_small | 0.55 / 0.30 | 0.29 / 0.36 | 0.21 / 0.37 |
| text_json_lines_small | 0.67 / 0.42 | 0.48 / 0.55 | 0.43 / 0.55 |
| text_json_transform_small | 0.66 / 0.39 | 0.43 / 0.51 | 0.33 / 0.47 |
| game_meteor_contest | n/a | 69.5 / 70.5 | 53.5 / 54.1 |
| text_csv_cleanup_medium | 770 / 784 | 137 / 142 | 115 / 115 |
| memory_string_list_long | 262 / 234 | 92.0 / 88.9 | 75.1 / 78.8 |
| text_json_transform_medium | 12.3 / 10.2 | 10.2 / 10.6 | 9.60 / 10.2 |
| text_line_logs_small | 0.42 / 0.39 | 0.32 / 0.38 | 0.35 / 0.44 |
| text_regex_logs_medium | 23.8 / 23.3 | 12.8 / 12.5 | 16.1 / 14.4 |
| text_regex_logs_small | 1.05 / 0.70 | 0.53 / 0.49 | 1.53 / 0.68 |
| text_line_logs_medium | 17.1 / 17.7 | 7.30 / 6.66 | 10.7 / 10.9 |
| ticket_search | 23.5 / 24.5 | 7.90 / 7.52 | 12.2 / 13.3 |
| perf_unpack_sequence | 217 / 224 | 13.6 / 12.7 | 31.1 / 33.8 |
| text_csv_aggregate_small | 3.97 / 3.92 | 1.42 / 1.51 | 4.69 / 5.36 |
| text_csv_cleanup_small | 7.29 / 7.40 | 2.08 / 2.20 | 8.30 / 9.78 |
Peak RSS · MiB · one-shot
Bars: CPython = midpoint · blue above = less memory, red below = more memory · shared asinh scale (5% transition)