Какие пути кода вызывают промахи кэша уровней процессора и как избежать промахов кэша?

#c #caching #profiling #low-latency

#c #кэширование #профилирование #низкая задержка

Вопрос:

Я использую CentOS, и мой проект написан на c , который оптимизирован, но все же производительность не соответствует ожиданиям. Итак, я хочу знать, какие пути кода вызывают промахи кэша уровней процессора и как избежать промахов кэша? Если для этого вообще есть инструмент, то какой инструмент использовать и какая команда используется для поиска промахов? Я использовал инструмент perf, однако он просто дает мне количество промахов, но я хочу точно знать, где произошел промах.

Комментарии:

1. Вероятно, вы можете попробовать valgrind cachegrind .

2. можете ли вы помочь мне с помощью команды, чтобы определить, какая часть кода вызвала промах кэша, используя cachegrind

3. Проверьте perf perf.wiki.kernel.org/index.php/Main_Page