Skip to content

Benchmark Baseline

Generated by python tests/benchmarks/run_baseline.py. Re-run that command to refresh.

System

Python 3.10.12
Platform Linux-5.15.167.4-microsoft-standard-WSL2-x86_64-with-glibc2.35
CPU cores 16
Numba 0.64.0
NumPy 2.2.6

Per-kernel latency (sorted slowest first)

Kernel / scenario median ns/call
advance_network_strang+chemistry 124,334,856
advance_network DPF (RK2) 5,623,772
integrate_bs_arrhenius (hot cell, T=900K) 1,815,136
full Newton step (assemble + Thomas solve) 1,755,130
_assemble_jacobian_fo_ideal_uniform_jit 1,661,871
advance_network scaling (N=2000) 839,719
porous_source N-cell scan (Python loop) 766,594
friction_source N-cell scan (Python loop) 688,900
eos_T_from_rho_e PR N-cells 622,260
eos_T_from_rho_e_jit PR (N-cell scan) 615,700
heat_source N-cell scan (Python loop) 593,293
advance_network scaling (N=1000) 566,153
eos_T_from_rho_e ideal N-cells 558,847
bs_chemistry_step_pipe_arrhenius 539,865
max_wave_speed (N-cell scan) 432,327
advance_network scaling (N=500) 364,291
advance_network (RK2, 1st-order) 353,075
advance_network (RK2, MUSCL) 325,290
advance_network scaling (N=100) 157,210
pipe_residual_quasi1d_first_order 114,923
pipe_residual_first_order 113,744
bs_chemistry_step_pipe_arrhenius (cold, T=300K) 112,853
pipe_residual_first_order_var_gamma 111,260
pipe_residual_muscl (van Leer) 110,274
pipe_residual_muscl (minmod) 105,803
bs_chemistry_step_pipe rtol=1e-4 (loose) 98,212
_block_thomas_solve_3x3_jit 97,473
bs_chemistry_step_pipe rtol=1e-8 (tight) 95,062
dpf_regen_apply_cells 23,684
dpf_regen_thermal_apply_cells 19,271
pipe_min_dt 9,501
rk3_stage3 6,751
rk2_stage2 6,490
_hllc_flux_jac_fd (single face) 5,038
muscl_slopes (minmod) 4,047
U_to_W 3,351
catalyst_apply_cells (kind=NONE) 3,256
filter_trap_rates 2,293
dpf_cake_apply_cells 2,077
hllc_flux_var_gamma (single face) 1,934
hllc_flux (single face) 1,802
euler_flux (single cell) 1,784
integrate_bs_arrhenius (single cell) 1,669
catalyst_apply_cells (TWO_PHASE_HEAT) 1,532
dpf_cake_apply_cells (kind=NONE) 1,068
catalyst_rates (single cell) 906
eos_T_from_rho_e_jit (Peng-Robinson, Newton) 867
porous_source (Darcy-Forchheimer, single cell) 859
friction_source (Darcy-const, single cell) 802
eos_T_from_rho_e_jit (ideal) 789
primitives_from_U (single cell) 781
friction_source (Colebrook, single cell) 749
heat_source (const T_wall, single cell) 697
eos_pressure_jit (Peng-Robinson) 687
eos_sound_speed_jit (PR) 646
eos_pressure_jit (ideal) 613

N-cell throughput (sorted lowest Mcell/s first — most constrained first)

Kernel / scenario N cells Mcell/s
advance_network_strang+chemistry 500 0.0
advance_network DPF (RK2) 500 0.1
full Newton step (assemble + Thomas solve) 500 0.3
_assemble_jacobian_fo_ideal_uniform_jit 500 0.3
bs_chemistry_step_pipe_arrhenius 200 0.4
advance_network scaling (N=100) 100 0.6
porous_source N-cell scan (Python loop) 500 0.7
friction_source N-cell scan (Python loop) 500 0.7
eos_T_from_rho_e PR N-cells 500 0.8
eos_T_from_rho_e_jit PR (N-cell scan) 500 0.8
heat_source N-cell scan (Python loop) 500 0.8
eos_T_from_rho_e ideal N-cells 500 0.9
max_wave_speed (N-cell scan) 500 1.2
advance_network scaling (N=500) 500 1.4
advance_network (RK2, 1st-order) 500 1.4
advance_network (RK2, MUSCL) 500 1.5
advance_network scaling (N=1000) 1,000 1.8
bs_chemistry_step_pipe_arrhenius (cold, T=300K) 200 1.8
bs_chemistry_step_pipe rtol=1e-4 (loose) 200 2.0
bs_chemistry_step_pipe rtol=1e-8 (tight) 200 2.1
advance_network scaling (N=2000) 2,000 2.4
pipe_residual_quasi1d_first_order 500 4.4
pipe_residual_first_order 500 4.4
pipe_residual_first_order_var_gamma 500 4.5
pipe_residual_muscl (van Leer) 500 4.5
pipe_residual_muscl (minmod) 500 4.7
_block_thomas_solve_3x3_jit 500 5.1
dpf_regen_apply_cells 500 21.1
dpf_regen_thermal_apply_cells 500 25.9
pipe_min_dt 500 52.6
rk3_stage3 500 74.1
rk2_stage2 500 77.0
muscl_slopes (minmod) 504 124.5
U_to_W 504 150.4
catalyst_apply_cells (kind=NONE) 500 153.6
filter_trap_rates 500 218.1
dpf_cake_apply_cells 500 240.7
catalyst_apply_cells (TWO_PHASE_HEAT) 500 326.4
dpf_cake_apply_cells (kind=NONE) 500 468.2

Reproduce

python tests/benchmarks/run_baseline.py

The script writes this file to docs/benchmarks-baseline.md and exits non-zero if any benchmark test fails.