Я ищу профилирование большого приложения C ++ и определить, какие части данных (или области памяти) выбираются чаще всего. По сути, я хочу иметь возможность делать что-то вроде алгоритма кэширования MFU процессора для определения того, что хранить в кэшах L2 / L3. На удивление мало информации в Интернете о том, кто пытался это сделать.
Изменить: изменен MRU на МФУ
Редактировать 2: чтобы уточнить, мне нужны адреса или структуры данных, на которые указывают адреса.
Ты можешь использовать Инструмент для булавок регистрировать все обращения к памяти и рассчитывать попадание / пропуск кэша.
Valgrind может сделать это — ему понадобится плагин, не знаю, если он уже есть.
РЕДАКТИРОВАТЬ: это называется cachegrind