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
Parallel jobs
1
Run duration
16m 40s
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 unverified
c9d19e7256886558c67678582d0d223de3eb05232f69da9da657ab9e090f3f35

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

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

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 mainCPythonPyPy
1.431.398.9217.2

Runtime · ms · one-shot / repeated

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

WorkloadMontyMonty mainCPythonPyPy
portfolio_risk76.5 / 76.263.6 / 63.046.0 / 44.67.28 / 7.75
game_nbody444 / 439426 / 42066.0 / 65.211.0 / 10.9
game_spectral_norm365 / 356326 / 32169.6 / 68.613.2 / 13.7
game_fannkuchn/an/a241 / 23453.3 / 51.6
expense_report0.34 / 0.230.40 / 0.291.13 / 0.350.27 / 0.40
capacity_planning36.9 / 35.037.4 / 35.710.8 / 9.572.70 / 2.99
api_report0.67 / 0.350.75 / 0.391.17 / 0.430.30 / 0.52
order_cleanup0.41 / 0.320.48 / 0.351.17 / 0.450.31 / 0.49
perf_float244 / 208262 / 21153.5 / 46.614.6 / 13.5
perf_json_loads1.18 / 0.851.33 / 0.922.13 / 1.250.73 / 0.92
perf_barnes_hut4070 / 40103980 / 3910610 / 596397 / 251
game_regex_dnan/an/a182 / 174133 / 93.7
stdout_lines2.17 / 2.192.50 / 2.333.71 / 2.273.82 / 3.07
memory_string_list_short202 / 179191 / 16383.7 / 74.351.7 / 73.7
perf_json_dumps8.68 / 6.809.91 / 7.8311.8 / 10.313.0 / 11.1
game_pidigitsn/an/a145 / 14198.7 / 99.6
memory_customer_records437 / 351414 / 358147 / 142136 / 97.3
text_json_parse_medium10.0 / 7.0910.6 / 7.639.79 / 8.616.80 / 6.76
text_csv_aggregate_medium350 / 320365 / 33170.5 / 64.060.1 / 46.1
text_json_transform_small0.66 / 0.400.74 / 0.440.45 / 0.460.33 / 0.46
text_json_lines_medium12.6 / 12.012.4 / 11.715.6 / 14.411.6 / 12.6
game_meteor_contestn/an/a69.5 / 66.153.3 / 49.6
text_json_parse_small0.55 / 0.280.58 / 0.300.29 / 0.320.22 / 0.36
text_csv_cleanup_medium710 / 630746 / 678134 / 125115 / 101
text_json_lines_small0.68 / 0.420.73 / 0.450.49 / 0.510.44 / 0.50
memory_string_list_long265 / 229263 / 23192.5 / 83.476.0 / 76.1
memory_string_index_short98.0 / 76.694.6 / 72.258.8 / 48.670.5 / 41.0
text_json_transform_medium12.0 / 8.8712.6 / 9.2510.3 / 9.179.78 / 8.97
memory_string_index_long134 / 102142 / 10369.6 / 54.181.2 / 56.5
text_line_logs_small0.42 / 0.380.44 / 0.370.32 / 0.350.35 / 0.41
text_regex_logs_medium22.7 / 21.821.2 / 20.212.9 / 11.616.7 / 13.2
text_regex_logs_small1.05 / 0.651.10 / 0.700.54 / 0.451.56 / 0.60
text_line_logs_medium17.2 / 16.616.0 / 15.67.47 / 6.0811.0 / 10.2
ticket_search24.1 / 22.225.5 / 23.57.93 / 6.1812.2 / 12.2
perf_unpack_sequence217 / 216222 / 21913.8 / 12.031.5 / 31.0
text_csv_aggregate_small3.79 / 3.563.94 / 3.691.41 / 1.434.86 / 5.07
text_csv_cleanup_small6.75 / 6.427.22 / 6.922.08 / 2.058.39 / 9.07

Peak RSS · MiB · one-shot

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

WorkloadMontyMonty mainCPythonPyPy
text_json_lines_small19.519.219.458.0
order_cleanup19.319.419.457.6
game_nbody19.219.319.358.8
ticket_search19.319.319.460.2
perf_json_dumps19.319.319.460.6
text_json_transform_small19.419.419.557.9
text_regex_logs_small19.419.419.558.2
stdout_lines19.319.319.459.4
portfolio_risk19.319.319.358.7
text_line_logs_small19.519.419.557.9
text_json_parse_medium23.723.723.7126
capacity_planning19.319.319.358.2
text_csv_cleanup_small19.519.519.559.2
perf_json_loads19.319.419.457.5
perf_unpack_sequence19.419.419.462.9
text_line_logs_medium23.623.723.7125
api_report19.319.419.357.6
text_csv_aggregate_small19.519.519.558.7
text_json_lines_medium23.623.623.6124
text_json_transform_medium23.723.723.7126
expense_report19.319.319.357.5
game_spectral_norm19.319.419.359.2
perf_barnes_hut19.419.519.488.9
text_json_parse_small19.519.519.457.9
text_regex_logs_medium21.621.621.5127
memory_string_index_long67.767.953.3124
memory_string_index_short56.056.541.7108
text_csv_cleanup_medium49.849.633.1147
text_csv_aggregate_medium42.341.827.4149
memory_string_list_long11211369.2125
memory_string_list_short89.690.145.999.6
memory_customer_records15615767.4134
perf_float57.657.528.470.0
game_fannkuchn/an/a19.358.8
game_meteor_contestn/an/a19.461.0
game_pidigitsn/an/a19.364.9
game_regex_dnan/an/a19.387.2