Нахождение размера блока кеша - PullRequest
3 голосов
/ 23 марта 2011

Как мне найти размер блока кеша в Ubuntu, программно (с C ++) или другим способом?

Ответы [ 2 ]

10 голосов
/ 23 марта 2011

Вы можете найти его в /proc/cpuinfo; cache size для общего размера и cache_alignment для размера блока.

0 голосов
/ 23 марта 2011

Один из способов - заполнить std::vector или просто обычный массив случайными значениями и выполнить что-то простое, например, возвести в квадрат каждый элемент в цикле.Затем измерьте время выполнения как функцию длины вектора.Вы очень четко увидите скачок времени исполнения, если ваш вектор не помещается в кеш.

...