运行算法时,检测CPU缓存未命中的最佳方法是什么?

5
我们有一个表现不佳的算法,我们认为这是因为CPU缓存未命中导致的。然而,我们无法证明它,因为我们没有任何检测它们的方法。是否有办法告诉我们一个算法产生了多少CPU缓存未命中?我们可以将其移植到任何能够使我们检测它们的语言中。
提前感谢您。
2个回答

2

0

英特尔CPU保留了一些性能计数器,您可以使用一些汇编指令来提取它们。

您能否(1)在静止系统上基准测试缓存未命中率,(2)运行程序并进行比较?

请参阅Intel指令集参考手册第3B卷第18节第15页(18-15),了解您需要编写的汇编代码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接