2011-03-23 112 views
2

如何在Ubuntu中以编程方式(使用C++)或其他方式找到缓存块大小?查找缓存块大小

+0

重复的http://stackoverflow.com/q/1922249/550514? – 2011-03-23 06:12:46

+0

@ChadLaGuardia我会说它不是重复的,因为这个问题的范围仅限于C++。这里OP对于特定语言之外的方法是开放的,例如cli命令。 – 2016-04-10 21:03:31

回答

9

你可以在/proc/cpuinfo找到它; cache size为总大小,cache_alignment为块大小。

+0

+1的答案 – Izza 2011-03-25 08:11:08

0

一种方法是填写一个std::vector或者只是一个带有随机值的普通数组,然后做一些简单的事情,例如,将每个元素放在一个循环中。 然后根据向量长度测量执行时间。 一旦你的矢量不适合缓存,你将很清楚地看到执行时间的跳跃。