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