Skip to content

Benchmarks ​

Looking for the indicator library's numbers?

This page is about Wickra Verify. Wickra's own indicator benchmarks — the comparison against TA-Lib, talipp, pandas-ta and the other Rust TA crates — live at wickra.org.

wickra-verify ships a Criterion bench crate (crates/verify-bench) measuring the cost of verify (recompute the backtest with the wickra-backtest engine + compare the report field by field), and of compare and canonicalize in isolation.

verify is dominated by the engine recomputation and scales roughly linearly with the number of bars; the field comparison and canonical hashing are a small, near-constant tail. The figures below are indicative, from a local run on Windows (x86_64, release profile); the authoritative numbers come from the nightly bench.yml run on the CI runners.

OperationInputTime (indicative)
verify200 bars, 2 indicators~2.8 ms
verify1 000 bars, 2 indicators~12 ms
verify5 000 bars, 2 indicators~79 ms
verify5 000 bars, 10 indicators~89 ms
comparesmall vs large reportsub-millisecond
canonicalizesmall vs large reportsub-millisecond

verify from 200 → 5 000 bars grows about linearly (≈ 28× the time for 25× the bars), as expected from the engine recomputation; adding indicators (2 → 10) is a modest per-bar cost. compare and canonicalize are negligible next to the recomputation — which is the point: verification's cost is re-running the backtest, not checking the numbers.

Run locally:

bash
cargo bench -p verify-bench

The numbers above are the ones in the repository's BENCHMARKS.md, measured with the commands it names.

Updated: