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 unverified
4479e7306fdf0c6a2a567aa139150ac47c75ab3c0138ec2c4efa010c382a87e0

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 unverified
3359482397c7a8e9b84606a9d825c3b4e2c2b89ff622d8ddb9a84e939699180a

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 unverified
7aebd6513a8f1dc8529abecf80d25b66951ddb5e9bab14b2750a7dab7947a94d

Process startup · ms

Monty@mainPython 3.15PyPy
2.042.0113.628.3

Runtime · ms · one-shot / repeated

Bars: Python 3.15 = midpoint · blue above = faster, red below = slower · shared asinh scale (5% transition)

WorkloadMonty@mainPython 3.15PyPy
game_nbody580 / 587542 / 555135 / 12817.3 / 19.6
portfolio_risk150 / 154137 / 13982.1 / 79.612.2 / 13.6
game_spectral_norm619 / 633548 / 564128 / 12020.9 / 21.0
expense_report0.38 / 0.320.45 / 0.341.69 / 0.520.36 / 0.52
game_fannkuch2060 / 20802120 / 2130409 / 40787.7 / 90.7
capacity_planning64.8 / 65.665.2 / 65.517.5 / 15.84.06 / 4.58
api_report0.84 / 0.410.88 / 0.431.74 / 0.580.42 / 0.61
order_cleanup0.47 / 0.350.53 / 0.391.71 / 0.580.43 / 0.59
perf_float445 / 408478 / 42692.4 / 90.923.9 / 23.4
perf_json_loads1.57 / 1.141.77 / 1.283.23 / 1.901.10 / 1.28
game_regex_dnafailed / failedfailed / failed306 / 305207 / 153
memory_customer_records599 / 583462 / 412240 / 254201 / 135
stdout_lines3.61 / 3.423.33 / 2.966.06 / 4.225.79 / 4.47
perf_barnes_hut6210 / 64406610 / 68201110 / 1110620 / 659
memory_string_list_short332 / 300234 / 233149 / 14088.1 / 89.2
text_csv_aggregate_medium575 / 588543 / 551126 / 12392.1 / 72.8
text_json_lines_medium17.7 / 18.420.7 / 21.224.1 / 23.416.4 / 18.5
text_json_lines_small0.90 / 0.530.62 / 0.540.73 / 0.770.65 / 0.71
text_json_parse_medium15.5 / 11.916.7 / 13.113.9 / 11.89.82 / 9.74
text_json_transform_small0.87 / 0.490.58 / 0.490.61 / 0.620.46 / 0.59
text_csv_cleanup_medium1130 / 11501060 / 1080235 / 233179 / 174
memory_string_index_short168 / 152115 / 118108 / 105118 / 79.0
memory_string_list_long452 / 417422 / 364162 / 153123 / 122
game_meteor_contest495 / 513518 / 540109 / 10684.0 / 83.8
text_json_parse_small0.73 / 0.380.45 / 0.370.41 / 0.440.33 / 0.48
perf_json_dumps15.5 / 13.016.2 / 14.316.8 / 15.420.1 / 16.4
text_line_logs_small0.48 / 0.450.52 / 0.470.48 / 0.510.52 / 0.60
game_pidigitsn/an/a193 / 200172 / 180
text_json_transform_medium18.3 / 14.820.2 / 16.915.2 / 13.614.6 / 14.6
memory_string_index_long231 / 204218 / 173124 / 116131 / 125
text_regex_logs_medium33.7 / 33.334.7 / 34.921.4 / 19.725.4 / 21.1
text_regex_logs_small1.34 / 0.871.46 / 0.890.80 / 0.682.32 / 0.99
text_line_logs_medium20.6 / 20.620.9 / 21.111.7 / 10.416.0 / 16.2
ticket_search35.6 / 35.335.4 / 34.613.3 / 11.118.4 / 18.5
perf_unpack_sequence145 / 148101 / 10023.7 / 21.451.9 / 53.6
text_csv_aggregate_small6.30 / 6.136.23 / 6.092.34 / 2.347.24 / 7.56
text_csv_cleanup_small11.4 / 11.411.7 / 11.53.59 / 3.4813.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)

WorkloadMonty@mainPython 3.15PyPy
memory_string_list_short98.426.346.399.7
memory_string_index_short64.126.642.1108
game_nbody19.919.820.058.9
text_csv_cleanup_small20.119.920.159.2
stdout_lines19.919.819.959.4
text_line_logs_medium24.424.224.3125
perf_json_loads19.919.819.957.8
game_fannkuch19.919.919.958.8
text_json_transform_small19.819.919.958.2
order_cleanup19.919.919.957.8
ticket_search22.719.920.060.2
perf_unpack_sequence20.120.120.163.1
api_report19.919.919.957.8
game_spectral_norm20.019.919.959.3
text_json_parse_small20.019.819.858.2
portfolio_risk19.919.919.958.6
text_json_lines_small19.919.919.958.2
text_regex_logs_medium27.622.022.0128
text_json_parse_medium29.424.224.2126
text_regex_logs_small21.619.919.958.2
expense_report19.919.919.957.8
perf_barnes_hut20.019.919.989.0
perf_json_dumps20.719.919.961.1
capacity_planning22.119.919.958.5
text_json_transform_medium27.724.324.3126
game_meteor_contest21.019.919.961.0
text_csv_aggregate_small20.020.019.958.8
text_json_lines_medium24.624.624.5124
text_line_logs_small19.919.919.858.2
text_csv_aggregate_medium51.130.628.0149
text_csv_cleanup_medium56.538.533.8147
memory_customer_records16780.868.0134
memory_string_index_long73.369.353.8124
memory_string_list_long12211469.6125
perf_float64.959.229.370.2
game_pidigitsn/an/a19.964.9
game_regex_dnafailedfailed19.989.0