2014-01-20 1 views
3

Мы разрабатываем многопоточный проект. Мой коллега сказал, что gprof отлично работает без работы с многопоточными программами. Некоторое время назад я читал иначе.Поддерживает ли gprof многопоточные приложения?

http://sam.zoy.org/writings/programming/gprof.html

http://lists.gnu.org/archive/html/bug-binutils/2010-05/msg00029.html

Я также прочитать:

How to profile multi-threaded C++ application on Linux?

Так что я предполагаю, что обходной путь больше не нужен? Если да, то когда это не нужно?

ответ

1

Если вы не изменили обработку, gprof будет работать нормально.

Изменение средств обработки с использованием сопроцессора или gpus в качестве вычислительных устройств. В худшем случае вам нужно вручную вызвать функцию setitimer для каждого потока. Но по последней версии (2013-14) это не нужно.

В некоторых случаях это ведет себя озорно. Поэтому я советую использовать VTUNE от Intel, который предоставит более точную и более подробную информацию.

Смежные вопросы