zenbench
Interleaved microbenchmarking for Rust with paired statistics, CI regression testing, and hardware-adaptive measurement.
Essential Features
Clean, minimal, and focused on content
Interleaved Execution
Every round, all benchmarks run in shuffled order. Paired statistics on the differences detect changes that sequential harnesses miss.
CI Regression Testing
`--save-baseline=main` and `--baseline=main` with exit codes. Auto-update on pass. Block PRs on performance regressions.
Criterion Migration
Drop-in compatibility layer — change one import, zero code changes. Closures borrow freely, no 'static needed.
Rich Output
Tree and table terminal displays. HTML reports with SVG charts. JSON, CSV, LLM, Markdown formats. Streaming per-group.
Hardware-Adaptive
TSC timer, stack alignment jitter, overhead compensation, allocation profiling. Auto-calibration across platforms.
Cross-Platform
Tested on Linux, Windows, macOS — x86_64 and ARM64. 5 CI targets with hardware timer support.
Quick Start
Add to your project, create a bench file, run `cargo bench`.
cargo add zenbench --dev
cargo bench
cargo bench -- --baseline=main