Агрегирование вызовов функций из данных профилирования WPR/xperf, например, KCacheGrind?
Можно ли загрузить данные профилирования WPR/xperf в KCacheGrind? Или есть способ агрегировать вызовы функций в WPA напрямую? Или какой-то другой инструмент? Будет ли наилучшим вариантом маршрут gprof2dot/graphviz?
Я считаю WPA полезным, но группировка по стеку в таблице "Загрузка ЦП (выборка)", по-видимому, не позволяет выполнять сортировку по совокупному количеству вызовов функций. Например, если функция foo
называется одинаково из 10 разных мест, было бы сложно определить foo
в качестве потенциального узкого места, так как каждый из 10 путей кода к foo
будет отображаться как 10% или менее от веса. KCacheGrind решает эту проблему, позволяя вам сортировать совокупное время для каждой функции.
Как я могу отсортировать по совокупному времени, потраченному на каждую функцию с профилированием в Windows, например, чтобы определить низкоуровневые общие функции, такие как malloc, как узкое место?