基准测试
基准测试
在 Rust 中运行基准测试通常使用 cargo bench。这是 cargo
提供的专用命令,会执行所有使用 #[bench] 标注的方法。需要注意的是,
#[bench] 目前仍是 unstable,只能在 nightly 工具链下使用。
在 .NET 里,开发者常用 BenchmarkDotNet 来编写和跟踪基准测试。在 Rust 生态中,
比较接近的方案是 Criterion crate。
根据其 文档,Criterion 会在多次运行间收集并保存统计信息,
可以自动识别性能回退,也能帮助评估优化收益。
使用 Criterion 后,即使不切换到 nightly,也能进行完善的基准测试工作流。
和 BenchmarkDotNet 类似,也可以把基准结果集成到 CI 中,比如使用
GitHub Action for Continuous Benchmarking。Criterion
支持多种输出格式,其中包含 bencher 格式(兼容 nightly libtest 的输出),
因此可以直接对接该 Action。