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
33m 21s
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-baseline: CPython 3.14.8 · CPython 3.15.0 · 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 unverified
c9d19e7256886558c67678582d0d223de3eb05232f69da9da657ab9e090f3f35

monty-main · monty · c3045d5435859e5d679e9e427b98a1bc28c13877
/home/runner/work/flying-circus/flying-circus/_runtimes/monty-main/bin/monty
Source build: https://github.com/pydantic/monty@c3045d5435859e5d679e9e427b98a1bc28c13877; cargo build --locked --release -p monty-runtime --bin monty; rustc 1.99.0 (b940084d7 2026-09-28)
fc8793eb36ed04d2ee46e79844218874b332a0cdf5add06eeb0dbe9a845e6455

cpython-baseline · cpython · Python 3.14.8
/opt/hostedtoolcache/Python/3.14.8/x64/bin/python3.14
Source revision and compiler flags unverified
a5230d8adbd26c2185d77fb003597c4ee9c44c2369fc179122ff7c3a3a58ae59

cpython · cpython · Python 3.15.0
/opt/hostedtoolcache/Python/3.15.0/x64/bin/python3.15
Source revision and compiler flags unverified
fd580ad81787ecc7e71f91543dbe52ffccd3e5c4cf286565eceb539081e85992

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

Process startup · ms

MontyMonty maincpython-baselineCPythonPyPy
1.811.7813.213.325.5

Runtime · ms · one-shot / repeated

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

WorkloadMontyMonty maincpython-baselineCPythonPyPy
game_nbody782 / 781744 / 746150 / 148140 / 13719.3 / 19.3
portfolio_risk169 / 169108 / 10884.4 / 84.688.0 / 87.712.4 / 14.1
game_spectral_norm684 / 683571 / 572135 / 138142 / 13622.4 / 22.5
game_fannkuchn/an/a492 / 490458 / 45387.7 / 87.8
capacity_planning81.8 / 79.962.3 / 60.821.7 / 20.218.1 / 16.54.33 / 4.87
expense_report0.39 / 0.340.45 / 0.371.90 / 0.581.76 / 0.570.45 / 0.58
order_cleanup0.48 / 0.430.52 / 0.431.95 / 0.641.82 / 0.630.52 / 0.64
perf_float388 / 348485 / 42195.4 / 88.795.2 / 89.824.5 / 22.5
api_report0.82 / 0.470.90 / 0.541.94 / 0.631.80 / 0.620.51 / 0.64
perf_json_loads1.62 / 1.201.80 / 1.353.68 / 2.243.45 / 2.091.28 / 1.61
game_regex_dnan/an/a316 / 311344 / 333218 / 150
stdout_lines3.65 / 3.854.30 / 4.496.86 / 4.816.92 / 4.886.61 / 5.15
memory_string_list_short323 / 276296 / 246157 / 150162 / 15085.1 / 174
perf_barnes_hut7010 / 70507570 / 75701260 / 12601250 / 1240712 / 699
perf_json_dumps14.3 / 11.916.2 / 13.721.5 / 19.718.9 / 17.223.7 / 18.6
text_json_parse_medium14.9 / 11.016.7 / 12.817.0 / 15.815.7 / 14.410.5 / 11.0
text_csv_aggregate_medium586 / 572624 / 610137 / 133137 / 13397.1 / 83.2
memory_customer_records596 / 496557 / 456257 / 262257 / 264205 / 173
text_json_lines_medium20.0 / 19.421.9 / 21.128.2 / 26.926.8 / 26.218.6 / 19.2
memory_string_index_short148 / 130150 / 125105 / 109111 / 111106 / 77.8
game_meteor_contestn/an/a123 / 122122 / 12090.7 / 88.0
memory_string_list_long440 / 375416 / 345165 / 159174 / 160120 / 177
memory_string_index_long213 / 185215 / 179117 / 119122 / 121120 / 88.2
text_csv_cleanup_medium1150 / 11401230 / 1230257 / 257264 / 261195 / 195
text_json_transform_small0.88 / 0.580.97 / 0.610.71 / 0.730.68 / 0.730.54 / 0.66
text_json_lines_small0.93 / 0.670.99 / 0.690.80 / 0.830.79 / 0.840.73 / 0.78
text_json_parse_small0.77 / 0.470.81 / 0.490.49 / 0.520.47 / 0.500.40 / 0.65
text_json_transform_medium18.1 / 14.519.7 / 16.118.5 / 17.017.1 / 15.815.8 / 16.5
game_pidigitsn/an/a197 / 196205 / 205177 / 180
text_line_logs_small0.58 / 0.570.60 / 0.570.55 / 0.610.55 / 0.610.62 / 0.71
text_regex_logs_medium38.1 / 37.435.6 / 34.124.9 / 24.225.4 / 24.328.7 / 23.0
perf_unpack_sequence333 / 341347 / 34527.1 / 23.626.4 / 23.558.1 / 59.5
ticket_search41.4 / 40.142.6 / 41.414.1 / 11.813.9 / 11.720.4 / 20.5
text_csv_aggregate_small6.34 / 6.016.72 / 6.432.53 / 2.482.51 / 2.478.29 / 8.90
text_csv_cleanup_small11.7 / 11.312.6 / 12.23.80 / 3.763.85 / 3.7714.9 / 16.2
text_line_logs_medium26.3 / 25.726.1 / 25.813.7 / 12.213.8 / 12.517.5 / 17.1
text_regex_logs_small1.44 / 0.991.48 / 1.030.92 / 0.790.92 / 0.812.68 / 1.07

Peak RSS · MiB · one-shot

Bars: cpython-baseline = midpoint · blue above = less memory, red below = more memory · shared asinh scale (5% transition)

WorkloadMontyMonty maincpython-baselineCPythonPyPy
perf_unpack_sequence19.919.920.020.062.9
order_cleanup19.920.020.020.057.5
capacity_planning19.919.920.020.058.1
perf_json_dumps20.019.819.920.060.6
api_report20.019.920.019.957.5
portfolio_risk19.919.920.020.058.5
game_regex_dnan/an/a20.019.987.2
text_regex_logs_small20.019.920.020.058.1
text_json_lines_small20.020.020.019.957.9
text_line_logs_small20.020.020.020.057.9
stdout_lines20.019.920.019.959.4
text_json_transform_small19.919.919.919.957.9
text_json_lines_medium24.924.824.824.8124
game_pidigitsn/an/a19.919.964.9
text_json_parse_medium24.324.224.324.3126
text_json_parse_small20.020.020.020.057.9
expense_report20.020.020.020.057.5
text_line_logs_medium24.324.424.324.3125
perf_json_loads20.020.019.919.957.5
game_fannkuchn/an/a20.020.058.8
ticket_search19.920.019.920.060.2
text_regex_logs_medium22.222.122.122.2127
text_csv_aggregate_small20.019.919.920.058.6
game_meteor_contestn/an/a20.020.060.9
game_nbody19.919.919.920.058.7
perf_barnes_hut19.920.019.920.088.8
game_spectral_norm20.019.919.920.059.1
text_json_transform_medium24.224.324.124.3126
text_csv_cleanup_small20.020.019.920.059.2
memory_string_list_long11211268.969.7125
memory_customer_records15615767.268.0134
memory_string_index_long67.667.653.253.9124
memory_string_list_short89.589.745.746.599.4
memory_string_index_short55.955.941.542.3108
text_csv_cleanup_medium49.749.333.233.8147
text_csv_aggregate_medium41.941.727.327.9149
perf_float57.557.528.329.469.9