Speed

Milliseconds per forecast on one CPU, one thread.

100 µs1 ms10 ms100 mslaplace (Rust) k=112 µslaplace (Rust) k=12150 µslaplace (Python) k=1286 µsAutoETS (refit)2 ms 7.1× laplace (Python)Timestral-28M6 ms 19× laplace (Python)ARIMA (order fixed, refit)7 ms 25× laplace (Python)AutoTheta (refit)7 ms 25× laplace (Python)Chronos-Bolt-small7 ms 26× laplace (Python)laplace++ (torch) k=113 ms 44× laplace (Python)GARCH-t (refit)30 ms 100× laplace (Python)Timestral-209M30 ms 110× laplace (Python)Prophet (refit)31 ms 110× laplace (Python)t0-gamma40 ms 140× laplace (Python)AutoARIMA (refit)62 ms 220× laplace (Python)TimesFM-3.067 ms 230× laplace (Python)TiRex94 ms 330× laplace (Python)Sundial-base-128m108 ms 380× laplace (Python)TimeH2O-v1216 ms 750× laplace (Python)TimesFM-2.5-200M317 ms 1,100× laplace (Python)

Streaming: the cost of one new observation. Bar length is the fourth root of the time, between a log and a linear scale.

model streaming batch, 1 batch, 16 batch, 64
laplace (Rust) k=112 µs–––
laplace (Rust) k=12150 µs–––
laplace (Python) k=1286 µs–––
AutoETS (refit)2.0 ms–––
Timestral-28M5.5 ms5.4 ms1.0 ms708 µs
ARIMA (order fixed, refit)7.3 ms–––
AutoTheta (refit)7.3 ms–––
Chronos-Bolt-small7.3 ms7.3 ms1.3 ms739 µs
laplace++ (torch) k=112.6 ms–––
GARCH-t (refit)29.6 ms–––
Timestral-209M30.5 ms29.7 ms4.0 ms3.0 ms
Prophet (refit)30.7 ms–––
t0-gamma40.1 ms40.6 ms4.5 ms3.5 ms
AutoARIMA (refit)62.3 ms–––
TimesFM-3.066.9 ms67.6 ms8.6 ms5.0 ms
TiRex94.1 ms95.2 ms74.4 ms74.8 ms
Sundial-base-128m108.4 ms108.5 ms33.0 ms28.0 ms
TimeH2O-v1215.8 ms255.4 ms155.3 ms128.6 ms
TimesFM-2.5-200M317.1 ms322.5 ms20.2 ms5.0 ms

Streaming is the cost of the next data point. Batch is the cost of a fresh series, where a pretrained model amortises one forward pass over many series. Hover a column for its definition.

Measured 2026-10-28 on Darwin arm64; built 2026-11-09.