Met*_*est 6 c linux gcc x86-64
我多次运行基准测试,记下平均读数.但我注意到在第一次运行后,后续运行速度更快.我想这与指令缓存有关,所以当我下次运行程序时,基准测试已经在缓存中有指令.有没有办法用冷指令和数据缓存启动程序?
rak*_*ib_ 4
这是正常行为。避免此问题的一种方法是在主要运行之前进行一些预热。这些预热运行将覆盖先前运行的程序增长的高速缓存。计算平均值时,排除热身跑值,仅取实际跑步值。那里有各种采用这些方法的基准测试工具。kernbench、 lmbench 等。其中有可用的预热值。
而且,如果您运行的基准测试取决于需要从磁盘读取的数据,那么磁盘缓存也会产生一些影响,避免的一种方法是将这些数据缓存到 RAM 上(如果可能)。该技术用于 kernbench,以避免磁盘缓存相关问题。
归档时间:
12 年,6 月 前
查看次数:
328 次
最近记录:
9 年,8 月 前