2011-03-23 150 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或者只是一個帶有隨機值的普通數組,然後做一些簡單的事情,例如,將每個元素放在一個循環中。 然後根據向量長度測量執行時間。 一旦你的矢量不適合緩存,你將很清楚地看到執行時間的跳躍。