perf 教程

本页向贡献者介绍如何用 moon bench 对 @mutable 内核进行基准测试,以及如何解读结果。方法见 perf 设计;完整流水线见 bench/README.md。

快速上手

moon bench -p perf --target native --release

输出的每一行对应一个用例,名为 <operation>/<case id>,并给出每次调用的时间。

日常任务

比较内核修改

  1. 在未修改的代码上运行基准测试,并保存输出。
  2. 应用修改,再次运行,比较相同用例名的结果。
  3. 用 perf_support 教程中的校验和比较方法,检查结果比特没有变化,或者只因舍入而变化。

运行完整报告

just bench

这会以 release 模式构建并运行基准测试,然后写出 bench/results/summary.md 和 summary.json,其中包含每个用例的中位数、p90 和 MAD。

进一步了解

用 BENCH_FLAGS="--include-rust" just bench 加入 Rust nalgebra 基线,用 just bench-web 打开本地仪表盘。

常见陷阱

  • 对调试构建做基准测试。 务必传入 --release。
  • 比较不同机器上的运行。 请在同一台机器、相近的负载下比较。

后续步骤