Run history · Markdown · JSON
Published run
Measured 2026-10-30T11:35:12.106264+00:00 · GitHub-hosted runner (hardware varies between runs; use within-run comparisons)
monty: pydantic-monty-runtime 1.4.0
monty-main: main at 6129db98578d4e99b33bf3858856177e54104923
Application benchmarks
- CPU
- AMD EPYC 9V74 80-Core Processor · 4 logical CPUs
- OS
- Linux-7.0.0-1017-azure-x86_64-with-glibc2.39
- Samples
- 10
- Parallel jobs
- 1
- Run duration
- 18m 10s
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.4.0 · @main: Monty 1.4.0 · Python 3.15: CPython 3.15.1 · PyPy 8.0.1
Runtimes and build details
monty · monty · 1.4.0
/home/runner/work/flying-circus/flying-circus/_runtimes/monty/bin/monty
Prebuilt PyPI wheel: pydantic-monty-runtime==1.4.0; source revision and compiler flags unverified4479e7306fdf0c6a2a567aa139150ac47c75ab3c0138ec2c4efa010c382a87e0
monty-main · monty · 6129db98578d4e99b33bf3858856177e54104923
/home/runner/work/flying-circus/flying-circus/_runtimes/monty-main/bin/monty
Source build: https://github.com/pydantic/monty@6129db98578d4e99b33bf3858856177e54104923; cargo build --locked --release -p monty-runtime --bin monty; rustc 1.99.1 (58cf8f9c3 2026-10-13)57da6b782550c4f7f1ec5b4f2a1597b767df07bc14ff043eea11fff64ae13d22
python3.15 · cpython · Python 3.15.1
/opt/hostedtoolcache/Python/3.15.1/x64/bin/python3.15
Source revision and compiler flags unverified3359482397c7a8e9b84606a9d825c3b4e2c2b89ff622d8ddb9a84e939699180a
pypy · pypy · Python 3.11.17 (ec82f20141cf, Oct 13 2026, 15:02:27)
[PyPy 8.0.1 with GCC 14.2.1 20250110 (Red Hat 14.2.1-11)]
/opt/hostedtoolcache/PyPy/3.11.17/x64/bin/pypy3.11
Source revision and compiler flags unverified7aebd6513a8f1dc8529abecf80d25b66951ddb5e9bab14b2750a7dab7947a94d
Process startup · ms
| Monty | @main | Python 3.15 | PyPy |
|---|---|---|---|
| 2.04 | 2.01 | 13.6 | 28.3 |
Runtime · ms · one-shot / repeated
Bars: Python 3.15 = midpoint · blue above = faster, red below = slower · shared asinh scale (5% transition)
| Workload | Monty | @main | Python 3.15 | PyPy |
|---|---|---|---|---|
| game_nbody | 580 / 587 | 542 / 555 | 135 / 128 | 17.3 / 19.6 |
| portfolio_risk | 150 / 154 | 137 / 139 | 82.1 / 79.6 | 12.2 / 13.6 |
| game_spectral_norm | 619 / 633 | 548 / 564 | 128 / 120 | 20.9 / 21.0 |
| expense_report | 0.38 / 0.32 | 0.45 / 0.34 | 1.69 / 0.52 | 0.36 / 0.52 |
| game_fannkuch | 2060 / 2080 | 2120 / 2130 | 409 / 407 | 87.7 / 90.7 |
| capacity_planning | 64.8 / 65.6 | 65.2 / 65.5 | 17.5 / 15.8 | 4.06 / 4.58 |
| api_report | 0.84 / 0.41 | 0.88 / 0.43 | 1.74 / 0.58 | 0.42 / 0.61 |
| order_cleanup | 0.47 / 0.35 | 0.53 / 0.39 | 1.71 / 0.58 | 0.43 / 0.59 |
| perf_float | 445 / 408 | 478 / 426 | 92.4 / 90.9 | 23.9 / 23.4 |
| perf_json_loads | 1.57 / 1.14 | 1.77 / 1.28 | 3.23 / 1.90 | 1.10 / 1.28 |
| game_regex_dna | failed / failed | failed / failed | 306 / 305 | 207 / 153 |
| memory_customer_records | 599 / 583 | 462 / 412 | 240 / 254 | 201 / 135 |
| stdout_lines | 3.61 / 3.42 | 3.33 / 2.96 | 6.06 / 4.22 | 5.79 / 4.47 |
| perf_barnes_hut | 6210 / 6440 | 6610 / 6820 | 1110 / 1110 | 620 / 659 |
| memory_string_list_short | 332 / 300 | 234 / 233 | 149 / 140 | 88.1 / 89.2 |
| text_csv_aggregate_medium | 575 / 588 | 543 / 551 | 126 / 123 | 92.1 / 72.8 |
| text_json_lines_medium | 17.7 / 18.4 | 20.7 / 21.2 | 24.1 / 23.4 | 16.4 / 18.5 |
| text_json_lines_small | 0.90 / 0.53 | 0.62 / 0.54 | 0.73 / 0.77 | 0.65 / 0.71 |
| text_json_parse_medium | 15.5 / 11.9 | 16.7 / 13.1 | 13.9 / 11.8 | 9.82 / 9.74 |
| text_json_transform_small | 0.87 / 0.49 | 0.58 / 0.49 | 0.61 / 0.62 | 0.46 / 0.59 |
| text_csv_cleanup_medium | 1130 / 1150 | 1060 / 1080 | 235 / 233 | 179 / 174 |
| memory_string_index_short | 168 / 152 | 115 / 118 | 108 / 105 | 118 / 79.0 |
| memory_string_list_long | 452 / 417 | 422 / 364 | 162 / 153 | 123 / 122 |
| game_meteor_contest | 495 / 513 | 518 / 540 | 109 / 106 | 84.0 / 83.8 |
| text_json_parse_small | 0.73 / 0.38 | 0.45 / 0.37 | 0.41 / 0.44 | 0.33 / 0.48 |
| perf_json_dumps | 15.5 / 13.0 | 16.2 / 14.3 | 16.8 / 15.4 | 20.1 / 16.4 |
| text_line_logs_small | 0.48 / 0.45 | 0.52 / 0.47 | 0.48 / 0.51 | 0.52 / 0.60 |
| game_pidigits | n/a | n/a | 193 / 200 | 172 / 180 |
| text_json_transform_medium | 18.3 / 14.8 | 20.2 / 16.9 | 15.2 / 13.6 | 14.6 / 14.6 |
| memory_string_index_long | 231 / 204 | 218 / 173 | 124 / 116 | 131 / 125 |
| text_regex_logs_medium | 33.7 / 33.3 | 34.7 / 34.9 | 21.4 / 19.7 | 25.4 / 21.1 |
| text_regex_logs_small | 1.34 / 0.87 | 1.46 / 0.89 | 0.80 / 0.68 | 2.32 / 0.99 |
| text_line_logs_medium | 20.6 / 20.6 | 20.9 / 21.1 | 11.7 / 10.4 | 16.0 / 16.2 |
| ticket_search | 35.6 / 35.3 | 35.4 / 34.6 | 13.3 / 11.1 | 18.4 / 18.5 |
| perf_unpack_sequence | 145 / 148 | 101 / 100 | 23.7 / 21.4 | 51.9 / 53.6 |
| text_csv_aggregate_small | 6.30 / 6.13 | 6.23 / 6.09 | 2.34 / 2.34 | 7.24 / 7.56 |
| text_csv_cleanup_small | 11.4 / 11.4 | 11.7 / 11.5 | 3.59 / 3.48 | 13.1 / 15.0 |
Peak RSS · MiB · one-shot
Bars: Python 3.15 = midpoint · blue above = less memory, red below = more memory · shared asinh scale (5% transition)