【发布时间】:2010-12-01 17:38:51
【问题描述】:
我想确定给定的 C 代码如何有效地利用处理器缓存,如果可能,确定缓存中存在哪些数据以及存储在主内存中的数据(尽管这更像是一个不错的选择) - 有没有软件可以做到这一点?
我知道这可能不适合堆栈溢出的范围,尽管它当然与编程高度相关,因为我打算将它用作测试我正在编写的代码的工具。如果有更合适的地方,请告诉我/mods move this question。
此外,我(非常)更喜欢该软件用于 mac os x/unix。
谢谢!
【问题讨论】:
-
效率不是取决于处理器吗,因为 C 编译器对缓存的使用没有太多控制——除了指令的选择吗?
-
@ring0 - 绝对如此,所以我希望软件能够适应正在测试的特定处理器(因此结果当然不适用于不同的处理器)。就 C 而言 - 该工具能够通过生成的调试符号以 C 代码的形式指示哪些代码是缓存未命中的热点、整个数据结构是否位于缓存中等,这将很有用.
标签: c caching code-analysis