is a statistics-driven micro-benchmarking tool. It is a Rust port of Haskell's Criterion library. benchmarks collect and store statistical information from run to run and can automatically detect performance regressions as well as measuring optimizations. is free and open source. You can find the source on GitHub. Issues and feature requests can be posted on the issue tracker.

API Docs

In addition to this book, you may also wish to read the API documentation.

License is dual-licensed under the Apache 2.0 and the MIT licenses.

Debug Output

To enable debug output in, define the environment variable CRITERION_DEBUG. For example (in bash):

CRITERION_DEBUG=1 cargo bench

This will enable extra debug output. If using gnuplot, will also save the gnuplot scripts alongside the generated plot files. When raising issues with (especially when reporting issues with the plot generation) please run your benchmarks with this option enabled and provide the additional output and relevant gnuplot scripts.