Использование CallGrind / Kcacchegrind, чтобы получить статистику на поток

StackOverflow https://stackoverflow.com/questions/2381647

Вопрос

Я хотел бы видеть, как «дорого» каждый поток в моем приложении использует CallGrind. Я профилировал с --separate-thread=yes Опция, который дает вам файл CallGrind для всего приложения, а затем один на один нить.

Это полезно для просмотра профиля любого данного потока, но то, что я действительно хочу, это просто сортированный список процессорных процессоров из каждого потока, поэтому я вижу, какие потоки являются самыми большими свиньями.

Это было полезно?

Решение

Valgrind / CallGrind не допускает этого поведения. Ни Ккачегринд не делает, но я думаю, что это будет хорошее улучшение. Возможно, некоторые ответы можно найти в их рассылке.

Работа Но очень скучно способ можно использовать опцию --separate-thread=no, и обновите свой код для использования для каждого потока A разные Имя функции или имя класса. В зависимости от вашей сложности кода, это может быть ответ (с использованием 1Computedata (), 2Computedata (), ..)

Другие советы

Просто откройте несколько профилей в KCachegrind одновременно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top