💡
原文英文,约2800词,阅读约需11分钟。
📝
内容提要
在基准测试中,为确保结果准确需过滤噪声。通过多次长时间运行、冷启动和使用大页等方法可减少噪声影响。同时,需关注二进制布局和调度器对性能的影响。优化基准测试时,去除不必要部分能更清晰地反映代码改动效果。
🎯
关键要点
- 基准测试中需过滤噪声,以确保结果准确。
- 多次长时间运行和冷启动可以减少噪声影响。
- 关注二进制布局和调度器对性能的影响。
- 优化基准测试时,去除不必要部分能更清晰地反映代码改动效果。
- 传统方法是多次运行基准测试,确保每次运行足够长。
- 需要根据基准测试和硬件决定运行次数和时长。
- 冷启动测试可以消除缓存带来的随机噪声。
- 使用MAP_POPULATE可以减少页面故障带来的噪声。
- 使用大页可以减少页面表管理的开销。
- 透明大页(THP)可能会增加噪声,建议禁用。
- 二进制的布局会影响性能,使用mold的--shuffle-sections选项可以随机化输出。
- NUMA调度可能会引入噪声,使用numactl可以将进程绑定到特定CPU。
- 在基准测试中,避免不必要的操作可以提高测量的准确性。
- 在基准测试中,使用OFFSET跳过结果可以减少开销。
- 不同的CPU或编译器版本可能会显著影响基准测试结果。
➡️