在 c++ 中是否有一种方法可以快速使处理器的 L2 缓存失效,而不是通过一个大的伪数组进行迭代?
最佳答案
我假设这是为了性能测试,并且您想消除运行之间的缓存影响。
在这种情况下,要有效地执行此操作,您需要知道的是:
- 二级缓存的分配大小
- 二级缓存中有多少分配
然后基本上就是将内存 allocation_size
字节彼此分开,直到完全刷新缓存。
上下文切换通常也会使缓存无效 - 等待
一毫秒可能会更快,如果操作系统将您换入换出,它可能最终会清除缓存。
关于c++ - 快速使缓存失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2106218/