Skip to content

Benchmarks ​

Looking for the indicator library's numbers?

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

The headline figure is bars per second — the rate at which the engine runs one strategy signal and resolves the resulting market order against a recorded L2 order book, level by level, into a size-weighted fill price. This is the work IMPACT adds on top of the inherited wickra-backtest engine.

Reproduce with:

bash
cargo bench -p impact-bench            # parallel-capable engine
cargo bench -p impact-bench --no-default-features   # single-threaded (WASM) path

Measured (reference run) ​

wickra_impact_core::run over a buy-and-hold strategy that fills one order per bar against a five-level book, criterion, release build. Throughput is bars/second.

Book model1,000 bars10,000 bars
orderbook_walk~1.85 M bars/s~1.63 M bars/s
linear_impact~1.85 M bars/s~1.63 M bars/s
square_root~1.84 M bars/s~1.62 M bars/s

The three fill models run within noise of each other: the cost is dominated by the inherited signal/portfolio/metrics loop, not by the walk itself, so measuring market impact is effectively free over a naive backtest. Absolute numbers depend on the host; treat them as an order of magnitude (single-digit microseconds per bar) and reproduce locally for your hardware.

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

Updated: