Performance
Every figure here is from one machine and is copied from
capability_2026-10-21.md,
which benchmarks/capability_report.py generates from the CSVs beside it. The
tables below are extracted from that file when this page is built; nothing is
retyped. The machine was an Intel Core Ultra 9 275HX with 24 logical cores and 31.4
GiB of RAM, Windows 11, MSVC without -march=native, Python 3.12.10. Other
hardware will differ. Cells with reps of 1 are single runs and carry no spread.
One fit, about a million events
Pair decay, one start, se_method="hessian", a fresh process per run. label is the
library’s own reliability label for that fit, a conditioning report and not a
statement about bias.
M |
rho |
events |
reps |
iters |
total |
range |
ms/iter |
Hessian |
grad calls |
dominant |
label |
|---|---|---|---|---|---|---|---|---|---|---|---|
2 |
0.3 |
1,002,145 |
3 |
40 |
7.16 s |
6.24-7.51 s |
101.04 |
3.12 s |
40 |
Hessian (44%) |
reliable |
2 |
0.85 |
1,007,524 |
3 |
41 |
9.97 s |
9.26-10.06 s |
148.60 |
3.88 s |
40 |
per-iteration cost (148.60 ms) |
reliable |
4 |
0.3 |
1,001,682 |
1 |
183 |
54.51 s |
54.51-54.51 s |
149.03 |
27.23 s |
144 |
Hessian (50%) |
reliable |
4 |
0.85 |
1,009,253 |
1 |
104 |
42.39 s |
42.39-42.39 s |
227.44 |
18.74 s |
144 |
Hessian (44%) |
reliable |
6 |
0.3 |
1,002,063 |
1 |
454 |
4.9 min |
294.77-294.77 s |
387.56 |
118.82 s |
312 |
Hessian (40%) |
reliable |
6 |
0.85 |
1,014,019 |
1 |
424 |
4.9 min |
294.30-294.30 s |
443.07 |
106.44 s |
312 |
per-iteration cost (443.07 ms) |
reliable |
8 |
0.3 |
1,001,390 |
1 |
812 |
13.8 min |
828.62-828.62 s |
727.88 |
237.58 s |
544 |
iteration count (812) |
reliable |
8 |
0.85 |
1,013,262 |
1 |
974 |
12.3 min |
739.99-739.99 s |
482.91 |
269.63 s |
544 |
iteration count (974) |
reliable |
The slowest fit measured took 13.8 min (828.62 s), at eight types, \(\rho = 0.3\) and 1,001,390 events. The one-hour wall was not reached. Nothing above \(N = 10^6\) was timed. The full table, including the smaller \(N\) where large \(M\) is dominated by iteration count, is in the capability file.
An honest interval costs more
se_method="bootstrap" at four types, \(N = 10^5\), \(B = 200\). “default” is the pool
of all logical cores. Larger bootstrap configurations were not timed.
M |
events |
B |
workers |
total |
range |
bootstrap alone |
per replication |
|---|---|---|---|---|---|---|---|
4 |
100,000 |
200 |
1 |
8.5 min |
510.08-510.08 s |
8.5 min |
2.537 s |
4 |
100,000 |
200 |
4 |
2.3 min |
140.04-140.04 s |
2.3 min |
0.691 s |
4 |
100,000 |
200 |
default |
86.42 s |
86.42-86.42 s |
- |
- |
Memory
The capability file reports about 33 bytes per event, nearly independent of \(M\) and unchanged by the Hessian pass, and a peak of 316 MiB above the import baseline at \(N = 10^7\). Memory does not bind before time does on that machine. The Linux measurement path was implemented but not run.