2014-01-20 73 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,它可以提供更準確和更詳細的信息。