如何找到最常用的内存区域?

时间:2015-01-09 21:31:38

标签: c++ memory-management cpu-cache

我希望对大型C ++应用程序进行概要分析,并确定最多提取哪些数据(或内存区域)。基本上,我希望能够执行类似处理器的MFU缓存算法,以确定在L2 / L3缓存中存储什么。对于任何试图实现这一目标的人来说,网上的信息很少甚至没有。

编辑:将MRU更改为MFU

编辑2:为了澄清,我需要地址或地址所指向的数据结构。

2 个答案:

答案 0 :(得分:2)

您可以使用Pin tool记录所有内存访问并计算缓存命中/未命中。

答案 1 :(得分:1)

valgrind可以做到这一点 - 它需要一个插件,不知道是否已有插件。

编辑:它被称为cachegrind

相关问题