如何使用冷缓存启动程序

时间:2013-05-24 09:48:03

标签: c linux gcc x86-64

我多次运行基准测试,记下平均读数。但我注意到在第一次运行后,后续运行速度更快。我想这与指令缓存有关,所以当我下次运行程序时,基准测试已经在缓存中有指令。有没有办法用冷指令和数据缓存启动程序?

1 个答案:

答案 0 :(得分:4)

这是正常行为。避免这个问题的一种方法是在主要运行之前进行少量预热。这些预热运行将覆盖以前运行的程序长大的缓存。在计算平均值时,排除预热运行值仅采用实际运行。各种基准标记工具都采用了这些方法。 kernbench,lmbench等。有可用的预热值。

而且,如果您运行的基准测试依赖于需要从磁盘读取的数据,那么磁盘缓存也会产生一些影响,一种方法是尽可能将这些数据缓存到ram上。此技术用于kernbench,以避免与磁盘缓存相关的问题。