Accumath

Engine performance

Weekly benchmarks

Seed gold benches from the engine on the build machine — updated about once a week so you can see trends as version 1 grows.

Week-to-week comparison

Pinned versions: rustc 1.99 · zenith-float 1.0.12 · latex-rust 2.1.1 · hdf5-rust 1.1.2

Machine: Intel Core i9-14900KF (32 threads), Pop!_OS Linux x86_64. SoftFloat precision: 256 bits.
Profile: cargo bench -p engine_core --bench engine_bench (Criterion)

Method: Criterion median of 100 samples, same seed set as benches/engine_bench.rs. Not a CI fail gate. Absolute numbers move with turbo and load; week-to-week trends matter more. The left column stays frozen while the weekly columns scroll horizontally. History lives in benchmarks.json.

Bench2026-09-192026-09-212026-09-282026-10-052026-10-122026-10-192026-10-26
Simplify: fold exp(ln(x))
cas_simplify.fold_exp_log_exp_ln_x
78 ns83 ns92 ns84 ns87 ns46 ns47 ns
Simplify: polynomial
cas_simplify.simplify_poly
223.7 µs226.6 µs223.8 µs193.7 µs199.2 µs214.4 µs220.5 µs
Integrate: ln(x)/x (Risch)
cas_integrate.ln_over_x
1.240 ms1.224 ms1.228 ms1.087 ms1.140 ms1.205 ms1.221 ms
Integrate: 1/(x ln(x))
cas_integrate.one_over_x_ln_x
1.110 ms1.088 ms1.096 ms998.6 µs1.054 ms1.138 ms1.146 ms
Integrate: exp(x)/x
cas_integrate.exp_over_x
2.300 ms2.295 ms2.282 ms2.795 ms2.974 ms3.118 ms3.179 ms
Integrate: exp poly
cas_integrate.exp_poly
2.287 ms2.303 ms2.294 ms2.465 ms2.597 ms2.793 ms2.815 ms
Factor: minpoly √2+√3
cas_factor.minpoly_sqrt2_plus_sqrt3
144.7 µs143.2 µs142.9 µs142.9 µs150.8 µs164.0 µs144.3 µs
Factor: minpoly √2+∛2
cas_factor.minpoly_sqrt2_plus_cbrt2
916.5 µs926.7 µs919.7 µs915.7 µs956.7 µs1.061 ms970.1 µs
Solve: x³−1
cas_solve.solve_x3_minus_1
378.3 µs381.7 µs385.7 µs365.5 µs381.6 µs419.4 µs386.9 µs
Eval SoftFloat constants
num_eval.eval_soft_constants
23.5 µs23.7 µs24.1 µs22.9 µs23.5 µs23.0 µs22.9 µs
Specials: erf(1)
num_specials.eval_erf_1
56.1 µs59.1 µs56.9 µs70.3 µs75.7 µs69.5 µs70.0 µs
Specials: Γ(1/2)
num_specials.eval_gamma_half
25.629 ms25.651 ms25.640 ms815.0 µs888.5 µs824.2 µs821.0 µs
nsolve: x²−2
num_linalg.nsolve_x2_minus_2
1.303 ms1.321 ms1.301 ms1.269 ms1.265 ms1.302 ms1.294 ms
Quad: ∫ 1/(1+x²) on [0,1] @ 1e-8
num_quad.quad_atan_unit
480.5 µs478.8 µs478.7 µs470.1 µs482.6 µs506.1 µs516.1 µs

No arrow keys needed — drag the slider, use the Earlier / Later buttons, or drag the green scrollbar above.

This week: 2026-10-26 vs 2026-10-19

Faster: minpoly √2+√3 −12.1%, minpoly √2+∛2 −8.5%, solve x³−1 −7.7%. Near noise: SoftFloat constants −0.5%, erf(1) +0.6%, Γ(1/2) −0.4%, nsolve −0.6%. Slower, small: fold exp(ln(x)) +2.2%, simplify poly +2.9%, ln(x)/x +1.3%, 1/(x ln(x)) +0.7%, exp(x)/x +1.9% (continuing its slow trend, 2.300 ms on Sep 19 to 3.179 ms now), exp poly +0.8%, quad +2.0%. Slow is not wrong; no scoring impact. The 15th bench in the run, num_eval.softfloat_mul_add at 101.31 ns, is not in the site grid, as before.

How we record

Same seed set each week (simplify, integrate, factor, solve, SoftFloat eval, specials, nsolve, quad). Release build on the Accumath desktop; Criterion median of 100 samples.

History lives in benchmarks.json on this site so prior weeks stay visible as we add them.

Buy a pre-release license — $25+