2

我有一个用 C++ 编写的应用程序,其他人以一种应该最大限度地利用 cpu 缓存的方式编写的应用程序。此应用程序在使用半虚拟化的来宾 Ubuntu 操作系统上运行。我运行 cachegrind 并收到非常低的缓存未命中率。

由于我的操作系统是虚拟化的,我是否可以确定这些值实际上是正确的,表明 cpu 缓存正在被我的应用程序很好地使用?

4

1 回答 1

-1

Cachegrind 是一个模拟器。一个真正的 CPU 实际上可能执行不同的操作(例如,您的真正 CPU 可能有不同的缓存层次结构到 cachegrind、不同大小的缓存、不同的替换策略等等)。您需要查看真实的 CPU 性能计数器,以了解您的程序在真实硬件上的缓存性能如何。

于 2011-05-11T13:47:20.250 回答