bench/decimal_gda 教程
本页介绍如何运行 General Decimal Arithmetic 基准测试,并说明如何解读其输出。该套件在相同输入上以配对测量比较不同的实现路径;工具集与产物格式见 bench 教程。
快速入门
在仓库根目录下:
just bench decimal-gda
运行器在 native 目标上以 release 模式执行 src/bench/decimal_gda 中被跳过的性能测试,并写出 .tmp/bench/SUITE.jsonl(全部观测值)和 .tmp/bench/SUITE.analysis.txt(归约后的行),其中 SUITE 是传给 just bench 的名称。
日常任务
阅读分析行
分析文件包含 MAREMARK_HOTSPOT=decimal-gda/OP/DATASET full_pct=… 行。core_pct 值是 core 路径与内核之间配对差值的中位数,以内核中位耗时的百分比表示;full_pct 同理,是 checked 路径相对 core 路径的差值。正值表示较高层更慢。
只检查计划而不测量
sh tools/run_moon_clean_exec.sh test src/bench/decimal_gda --target native
只运行计划测试,这些测试会编译每个规格。
深入了解
- 在
*_test.mbt文件中修改数据集或实现;请保留参考预言机,使更快但错误的路径导致运行失败。 - 仅当两次运行记录的环境一致时才比较它们。
- 性能审计 和
performance/页面汇总了实测结果。
常见陷阱
- 基准测试在常规
moon test运行中被跳过;请使用just bench。 - 结果依赖于机器;百分比比绝对微秒数更稳定。
后续步骤
- bench/decimal_gda API
- bench/decimal_gda 设计
- 关于统计方法,参见 bench 设计。