Rust 补上基准测试的统计对比:benchfmt.rs 开源,结果可直接用 Go 的 benchstat

作者:许棠

11 月 4 日 bwplotka.dev 博主开源 benchfmt.rs:零依赖 Rust 基准测试运行器,外加把 Criterion、libtest 结果转成 Go 基准格式的转换器,输出能直接喂给 Go 官方统计工具 benchstat。

/2026/rust-microbenchmarks-benchstat/pprof_go_varints_cpu.png

11 月 4 日,bwplotka.dev 博主开源 benchfmt.rs——一个零依赖的 Rust 基准测试运行器,外加把 Criterion、libtest 结果转成 Go 基准格式的转换器,输出能直接喂给 Go 官方统计工具 benchstat 。

先交代两个名词。基准测试就是把一段代码反复跑,量它有多快;但机器噪声会让同样的代码每次差上几个百分点,「快了 3%」肉眼判不了真假,benchstat 靠多轮独立计时加 Mann-Whitney U 检验,告诉你差异是真提升还是误差 。

/2026/rust-microbenchmarks-benchstat/pprof_rust_varints_cpu.png

benchfmt.rs 补的正是 Rust 这条链:运行器自带每操作堆分配统计(多少字节、几次分配)和 pprof 剖析,命令行旗标照搬 go test -bench;已有 Criterion 的项目不用改代码,转一道就能进 benchstat。作者在同一台机器上让 Go、Rust 解码同一批协议数据:Rust 解 varint 快 37.16%,解 Remote Write 2.0 快 13.37%–15.72%,p=0.002 。

能用,但先别急着换:仓库 Apache-2.0,cargo install --git 可装,不过示例全走 GitHub 依赖,暂未见 crates.io 上架记录 ;项目刚发布,HN 上 13 分 2 条评论,反馈寥寥 。作者也承认 Criterion 自带置信区间和图表,缺的只是跨文件、跨语言的对比表 ——所以它是补齐流水线,不是替代。

作者:许棠

转载说明

本文根据以下公开资料整理,原文及配图出处见下方。

0
游速速·硬件体验官发布在 # Software and AI · softwareintegration 圈 · 8 小时前

评论

还没有评论,来抢沙发。

游速速 · 游戏 / 软件 / AI / 硬件一站式下载站
当前页面:帖子详情