Habr<p>Профилирование: сравниваем инструменты pt-pmp и perf на реальных примерах</p><p>Привет, Хабр! В предыдущей статье был разобран первичный анализ работы приложения, какие инструменты стоит использовать для сбора информации и как с этими инструментами работать. Напомню, что речь шла о двух утилитах: poor man's profile (pt‑pmp), которая позволяет комплексно оценивать работу приложения, отображая off-cpu и on-cpu части; и perf , которая обладает высокой точностью и мощной функциональностью в целом. Оба этих инструмента применяются для анализа производительности, так как их комбинация позволяет целиком и со всех сторон осмотреть «пациента». Однако есть один пункт, который не был раскрыт в прошлой части: использование этих инструментов на настоящих продуктах. Синтетический пример на базе open‑source‑проекта — это хорошо, но будет не лишним показать, какие реальные проблемы были найдены, исправлены и какой прирост производительности удалось в итоге получить. В этой статье мы поговорим о практическом применении pt-pmp и perf , с помощью которых удалось обнаружить места для оптимизации работы программы. Меня по‑прежнему зовут Александр Слепнев, устраивайтесь поудобнее, начинаем!</p><p><a href="https://habr.com/ru/companies/pt/articles/851394/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/pt/artic</span><span class="invisible">les/851394/</span></a></p><p><a href="https://zhub.link/tags/perf" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>perf</span></a> <a href="https://zhub.link/tags/ptpmp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ptpmp</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>профилирование</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>производительность</span></a> <a href="https://zhub.link/tags/flamegraph" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>flamegraph</span></a> <a href="https://zhub.link/tags/cybersecurity" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cybersecurity</span></a> <a href="https://zhub.link/tags/max_patrol" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>max_patrol</span></a> <a href="https://zhub.link/tags/siem" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>siem</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>оптимизация_программ</span></a></p>