Используя callgrind/kcachegrind для получения статистики на поток

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

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

8
задан Paul D. 4 March 2010 в 18:18
поделиться

1 ответ

Valgrind / Callgrind не допускает такого поведения. Ни kcachegrind не поддерживает, но я думаю, что это будет хорошее улучшение. Может быть, какие-то ответы можно найти в их списке рассылки.

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

3
ответ дан 6 December 2019 в 02:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: