finds.dev← search

// the find

bheisler/criterion.rs

★ 5,538 · Rust · Apache-2.0 · updated Apr 2026

Statistics-driven benchmarking library for Rust

A statistics-driven benchmarking harness for Rust that replaces the nightly-only built-in bencher with something that runs on stable, computes confidence intervals, and flags regressions against a saved baseline. It's aimed at anyone who needs more than a stopwatch around a loop — crate authors tracking performance over time, or anyone tired of nightly-only #[bench].

Statistical rigor is the actual point: it runs enough samples to give you confidence intervals and outlier detection instead of a single noisy number, and the HTML reports (regression plots, violin plots, MAD/SD charts) are genuinely useful for spotting whether a change helped or hurt. Baseline comparison (cargo bench -- --save-baseline) makes it easy to catch regressions in CI. Supports async benchmarking, parameterized inputs, and custom measurements (not just wall-clock) rather than being locked into one measurement strategy.

The README itself is a maintainer-abandonment notice: the original maintainer has been missing for extended periods and active development has forked off to a new criterion-rs org, with this repo sitting on a backlog of unreviewed PRs — anyone starting fresh should probably go straight to the new org's repo instead. Full benchmark runs are slow by design (sampling for statistical confidence takes real wall-clock time), which makes it a poor fit for quick iteration loops. The HTML reports depend on gnuplot being installed separately unless you opt into the plotters backend, which is an easy thing to trip over on first setup.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →