如何测量cpp程序的缓存使用情况?

how to measure cache usage of a cpp program?

我想知道是否有任何工具可以衡量 cpp 程序从缓存 (L1,L2,L3) 中获益多少?例如,i) 测量缓存可以直接处理多少请求? ii) 缓存刷新了多少次?

Valgrind 有一个名为 cachegrind

的缓存分析实用程序

Visual Studio(从 VS 2010 开始)有一个嵌入式分析器,它显示有关缓存命中和未命中的信息,可通过 CPU Counter 选项访问。