Как узнать размер блока кеша в Ubuntu программно (с C ++) или иначе?
Определение размера блока кеша
comment
Дубликат stackoverflow.com/q/1922249/550514?
- person Chad La Guardia   schedule 23.03.2011
comment
@ChadLaGuardia Я бы сказал, что это не дубликат, потому что этот вопрос ограничен только C ++. Здесь OP открыт для методов за пределами определенного языка, таких как команда cli.
- person The Unknown Dev   schedule 11.04.2016
Ответы (2)
Вы можете найти его в /proc/cpuinfo
; cache size
для общего размера и cache_alignment
для размера блока.
person
Mike Seymour
schedule
23.03.2011
Один из способов - заполнить std::vector
или простой массив случайными значениями и сделать что-нибудь простое, например квадрат каждого элемента в петлю. Затем измерьте время выполнения как функцию длины вектора. Вы очень четко увидите скачок времени выполнения, когда ваш вектор не помещается в кеш.
person
ev-br
schedule
23.03.2011