Как измерить производительность кэша в многопоточных приложениях? - PullRequest
2 голосов
/ 25 января 2012

Название в значительной степени подводит итог.Мне нужно что-то вроде попадания / пропуска кэша для каждого потока.Как мне получить эту информацию?Кажется, что Cachegrind не работает, основываясь на том факте, что моя последовательная программа дает количество выполненных инструкций X и Y для моей параллельной программы, все в порядке, за исключением того факта, что X = Y.Я предполагаю, что Cachegrind не для потоков?Любые другие инструменты, которые я мог бы использовать?Спасибо.

1 Ответ

2 голосов
/ 25 января 2012

Вы можете использовать perf для получения необходимой информации от счетчиков производительности оборудования.

try:

$ perf stat -e cache-misses,cache-references /bin/ls /tmp/
...

Performance counter stats for '/bin/ls /tmp/':

             3,534 cache-misses              #   16.605 % of all cache refs    
            21,283 cache-references                                            

       0.001649284 seconds time elapsed
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...