v0.1 — MIT / Apache-2.0

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

Ready to benchmark?

See the tutorial, check example output, or dive into the API docs.

Tutorial