我多次运行基准测试,记下平均读数.但我注意到在第一次运行后,后续运行速度更快.我想这与指令缓存有关,所以当我下次运行程序时,基准测试已经在缓存中有指令.有没有办法用冷指令和数据缓存启动程序?
最佳答案
这是正常行为.避免这个问题的一种方法是在主要运行之前进行少量预热.这些预热运行将覆盖以前运行的程序长大的缓存.在计算平均值时,排除预热运行值仅采用实际运行.各种基准打标工具都采用了这些方法. kernbench,lmbench等可获得预热值的地方.
而且,如果您运行的基准测试依赖于需要从磁盘读取的数据,那么磁盘缓存也会产生一些影响,一种方法是尽可能将这些数据缓存到RAM上.此技术用于kernbench,以避免与磁盘缓存相关的问题.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。