我想确定给定的 C 代码如何有效地利用处理器缓存,如果可能的话,确定缓存中存在哪些数据以及主内存中存储了哪些数据(尽管这更像是一个不错的选择) - 有没有可以做到这一点的软件?
我知道这可能不属于堆栈溢出的范围,尽管它当然与编程高度相关,因为我打算将它用作测试我正在编写的代码的工具。如果有更合适的地方,请让我知道/mods移动这个问题。
此外,我(非常)希望该软件适用于 mac os x/unix。
谢谢!
最佳答案
有各种分析器可以根据缓存未命中捕获配置文件,作为基于常规时间间隔的采样的替代方法。这将使您了解程序中哪些地方没有有效地使用缓存。在 Mac OS X 上查看 Shark (免费 - CHUD 工具包的一部分)。在 Linux 上尝试 Zoom (商业,但有 30 天的免费评估许可证)。
关于c - 确定 C 代码的处理器缓存效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4327217/