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。
  • 结果依赖于机器;百分比比绝对微秒数更稳定。

后续步骤