A statistics-driven microbenchmarking library for Rust that provides rigorous performance analysis.
Criterion.rs is a statistics-driven benchmarking library for Rust that provides rigorous performance analysis for microbenchmarks. It helps developers measure and compare the performance of their Rust code with statistical confidence, identifying real performance differences rather than random variations.
Rust developers who need to measure and optimize performance of their code, particularly those working on performance-critical applications, libraries, or systems programming projects.
Developers choose Criterion.rs because it provides statistically rigorous benchmarking that goes beyond simple timing measurements, with automatic regression detection and detailed reporting that helps make confident performance decisions.
Statistics-driven benchmarking library for Rust
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses advanced statistical methods to analyze benchmark results, ensuring performance differences are meaningful and not just noise, as emphasized in its philosophy.
Compares benchmark results against previous runs to automatically identify performance regressions, which is valuable for continuous integration pipelines.
Generates detailed, interactive reports with charts and statistical summaries, providing clear visualizations for in-depth performance analysis.
Supports grouping related benchmarks together for easier management and comparison, helping developers organize performance tests effectively.
Active development has moved to a new organization, leading to potential delays in handling PRs and issues, as noted in the README, which could affect stability.
Primarily designed for microbenchmarks, so it may not handle macrobenchmarks or complex system-level testing well, limiting its scope for broader performance evaluation.
Requires configuration and a solid understanding of statistical concepts, which can be a barrier for quick adoption compared to simpler tools.