【发布时间】:2011-07-23 19:18:54
【问题描述】:
我需要在一堆关于内存层次效率的假设中评估 C++ 函数所花费的时间(例如:当我们有缓存未命中、缓存命中或读取数组的一部分时发生页面错误时所花费的时间),所以我希望有一些库可以让我计算缓存未命中/页面错误,以便能够自动生成性能摘要。
我知道有一些工具,比如 cachegrind,可以提供给定应用程序执行的一些相关统计信息,但我想要一个库,正如我已经说过的那样。
编辑哦,我忘了:我使用的是 Linux,我对可移植性不感兴趣,这是一个学术问题。
欢迎提出任何建议!
【问题讨论】:
-
您能否检测操作系统以帮助您提供一些此类信息?在具有虚拟内存的现代抢占式多任务系统中,操作系统很可能会在不知情的情况下对您的应用程序执行各种疯狂的操作...
-
我不知道,我使用的是 Linux。至于页面错误,我知道由于现代操作系统管理内存的方式,此类统计信息并不重要,正如您所说:事实上,我对 L2 缓存未命中更感兴趣,我认为它更独立于操作系统管理。
标签: c++ linux memory-management