cratosw

基准测试

基准测试

在 Rust 中运行基准测试通常使用 cargo bench。这是 cargo 提供的专用命令,会执行所有使用 #[bench] 标注的方法。需要注意的是, #[bench] 目前仍是 unstable,只能在 nightly 工具链下使用。

在 .NET 里,开发者常用 BenchmarkDotNet 来编写和跟踪基准测试。在 Rust 生态中, 比较接近的方案是 Criterion crate。

根据其 文档Criterion 会在多次运行间收集并保存统计信息, 可以自动识别性能回退,也能帮助评估优化收益。

使用 Criterion 后,即使不切换到 nightly,也能进行完善的基准测试工作流。

BenchmarkDotNet 类似,也可以把基准结果集成到 CI 中,比如使用 GitHub Action for Continuous BenchmarkingCriterion 支持多种输出格式,其中包含 bencher 格式(兼容 nightly libtest 的输出), 因此可以直接对接该 Action。

On this page