我想知道是否可以使用linux x86在c中强制缓存刷新。我已经阅读了几个答案,回答了如何在shell中执行此操作或使用asm / cache.h(要求我编写linux模块...)
我正在使用PAPI库,它允许我非常接近给定代码块执行的确切时钟周期数。但是,由于我想要计算一些非常短的函数,我需要多次运行函数以进行准确的统计(定时函数调用所花费的时间比执行块中的代码要长)。通过多次运行代码,缓存加快了对同一代码块的连续调用的执行,我想阻止它!
答案 0 :(得分:0)
除了将其他内容加载到缓存之外,我不知道任何标准方法。我通常的解决方法是简单地处理大到足以“冷却”缓存的东西,比如矩阵乘法。