2011-03-23 5 views
2

Ubuntu에서 프로그래밍 방식으로 (C++로) 또는 다른 방법으로 캐시 블록 크기를 어떻게 찾을 수 있습니까?캐시 블록 크기 찾기

+0

중복 된 http://stackoverflow.com/q/1922249/550514? –

+0

@ChadLaGuardia 나는 그 질문이 오직 C++에 한정되어 있기 때문에 중복이 아니라고 말할 것이다. 여기서 OP는 cli 명령과 같이 특정 언어가 아닌 메서드에 열려 있습니다. 대답은 –

답변

9

/proc/cpuinfo에서 찾을 수 있습니다. 블록 크기는 cache_alignment입니다.

+0

+1입니다. – Izza

0

한 가지 방법은 std::vector 또는 무작위 값이있는 일반 배열을 채우고 간단한 작업을 수행하는 것입니다. 루프의 각 요소를 제곱합니다. 그런 다음 실행 시간을 벡터 길이의 함수로 측정하십시오. 벡터가 캐시에 맞지 않으면 실행 시간에 점프가 매우 명확하게 표시됩니다.