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