Application benchmarks
- CPU
- AMD EPYC 7763 64-Core Processor · 4 logical CPUs
- OS
- Linux-6.17.0-1022-azure-x86_64-with-glibc2.39
- Samples
- 20
- Parallel jobs
- 1
- Run duration
- 29m 55s
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 chart reference · largest improvement first; click headers to reorder
Monty 1.1.0 · Monty main: 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
monty-main · monty · c83caf523c21d71c0eb33f94b7eac7c9595c713d
/home/runner/work/flying-circus/flying-circus/_runtimes/monty-main/bin/monty
Source build: https://github.com/pydantic/monty@c83caf523c21d71c0eb33f94b7eac7c9595c713d; cargo build --locked --release -p monty-runtime --bin monty; rustc 1.99.0 (b940084d7 2026-09-28)500dab114032d5e654db084cf9d54245f241cf4923bd467a19ea3168129edcb7
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 | Monty main | CPython | PyPy |
|---|---|---|---|
| 1.94 | 1.87 | 13.7 | 26.0 |
Runtime · ms · one-shot / repeated
Bars: cpython = midpoint · blue above = faster, red below = slower · shared asinh scale (5% transition)
| Workload | Monty | Monty main | CPython | PyPy |
|---|---|---|---|---|
| game_nbody | 775 / 775 | 743 / 742 | 146 / 144 | 19.7 / 19.5 |
| portfolio_risk | 150 / 150 | 110 / 110 | 84.6 / 83.4 | 12.9 / 13.6 |
| game_spectral_norm | 688 / 696 | 601 / 604 | 136 / 134 | 23.6 / 22.7 |
| game_fannkuch | n/a | n/a | 489 / 485 | 88.1 / 87.8 |
| expense_report | 0.39 / 0.33 | 0.45 / 0.37 | 1.98 / 0.60 | 0.48 / 0.56 |
| capacity_planning | 77.6 / 76.1 | 66.8 / 64.6 | 22.1 / 19.7 | 4.75 / 4.62 |
| order_cleanup | 0.47 / 0.40 | 0.55 / 0.44 | 2.02 / 0.63 | 0.55 / 0.63 |
| perf_float | 386 / 346 | 458 / 392 | 96.1 / 88.0 | 25.4 / 22.5 |
| api_report | 0.81 / 0.48 | 0.91 / 0.52 | 2.02 / 0.63 | 0.53 / 0.63 |
| perf_json_loads | 1.62 / 1.17 | 1.80 / 1.37 | 3.82 / 2.19 | 1.32 / 1.37 |
| perf_barnes_hut | 6970 / 6980 | 7630 / 7640 | 1270 / 1270 | 752 / 571 |
| game_regex_dna | n/a | n/a | 318 / 310 | 222 / 151 |
| stdout_lines | 3.68 / 2.97 | 4.24 / 4.49 | 6.90 / 4.69 | 6.94 / 4.91 |
| memory_string_list_short | 331 / 284 | 302 / 261 | 155 / 149 | 86.7 / 127 |
| text_csv_aggregate_medium | 598 / 578 | 618 / 601 | 138 / 134 | 99.1 / 79.9 |
| perf_json_dumps | 14.3 / 11.8 | 16.2 / 13.7 | 21.8 / 19.4 | 24.8 / 21.0 |
| text_json_parse_medium | 15.4 / 11.5 | 17.2 / 13.2 | 17.4 / 15.4 | 10.9 / 12.6 |
| perf_gc_traversal | n/a | n/a | 22.8 / 21.5 | 14.6 / 1600 |
| memory_customer_records | 611 / 510 | 559 / 503 | 261 / 259 | 205 / 168 |
| text_json_lines_medium | 20.7 / 20.4 | 22.3 / 21.6 | 28.3 / 26.9 | 19.1 / 19.3 |
| memory_string_list_long | 450 / 391 | 431 / 385 | 165 / 158 | 120 / 165 |
| memory_string_index_short | 169 / 143 | 162 / 132 | 119 / 113 | 117 / 83.5 |
| game_meteor_contest | n/a | n/a | 125 / 121 | 93.5 / 89.6 |
| text_json_transform_small | 0.89 / 0.55 | 0.98 / 0.60 | 0.72 / 0.74 | 0.57 / 0.66 |
| text_json_lines_small | 0.93 / 0.63 | 1.00 / 0.69 | 0.82 / 0.84 | 0.76 / 0.77 |
| text_csv_cleanup_medium | 1170 / 1150 | 1230 / 1210 | 258 / 256 | 198 / 192 |
| memory_string_index_long | 232 / 198 | 232 / 191 | 133 / 124 | 138 / 96.0 |
| text_json_parse_small | 0.76 / 0.43 | 0.82 / 0.49 | 0.51 / 0.50 | 0.41 / 0.58 |
| text_json_transform_medium | 19.1 / 14.9 | 20.6 / 16.5 | 18.8 / 16.7 | 16.3 / 16.1 |
| game_pidigits | n/a | n/a | 197 / 196 | 179 / 179 |
| text_regex_logs_medium | 38.7 / 37.5 | 36.7 / 35.1 | 25.1 / 23.7 | 29.1 / 22.9 |
| text_line_logs_small | 0.59 / 0.57 | 0.60 / 0.59 | 0.55 / 0.55 | 0.64 / 0.68 |
| text_line_logs_medium | 27.1 / 26.5 | 25.7 / 26.0 | 14.1 / 12.4 | 17.7 / 17.4 |
| text_regex_logs_small | 1.45 / 0.97 | 1.48 / 1.01 | 0.94 / 0.77 | 2.86 / 1.04 |
| ticket_search | 42.4 / 40.6 | 42.9 / 41.4 | 14.6 / 12.4 | 21.2 / 20.3 |
| perf_unpack_sequence | 333 / 343 | 352 / 355 | 27.1 / 23.8 | 59.1 / 59.9 |
| text_csv_aggregate_small | 6.41 / 6.07 | 6.69 / 6.34 | 2.55 / 2.48 | 8.67 / 8.65 |
| text_csv_cleanup_small | 11.8 / 11.4 | 12.5 / 12.1 | 3.83 / 3.72 | 15.4 / 16.0 |
Peak RSS · MiB · one-shot
Bars: cpython = midpoint · blue above = less memory, red below = more memory · shared asinh scale (5% transition)