gprof

    0熱度

    1回答

    我現在有一個我想要分析的項目,但它使用了另一個我無法控制的庫。說出是否有這樣的功能: #include <library.h> void function(...) { // do something for (...) { // ... library_function(...); // ... } //

    0熱度

    1回答

    感謝尋找在後 我標杆一些的Cilk加代碼,並一直在尋找計算完成「重生」操作所需的時間。我只想計算產生spawn所需的時間,而不是計算fib()所需的時間。這可能嗎? 將放在下面的代碼工作的定時器如預期?如果我的想法是正確的,將用timer_start()和timer_stop()替換「// RRS」,完成工作? #include <stdio.h> #include <stdlib.h>  

    4熱度

    3回答

    我有一些fortran代碼與intel fortran編譯器ifort編譯。當我使用gprof配置文件測試,我得到的大部分時間在IO操作時,我想找到文件的末尾,但我沒有找到任何這更多的文檔: index % time self children called name <spontaneous> [1] 20.6 0.07 0.00 _IO_wfile

    18熱度

    2回答

    我想用gprof來配置一個守護進程。我的守護進程使用一個第三方庫,用它註冊一些回調函數,然後調用一個永不返回的main函數。我需要調用kill(SIGTERM或SIGKILL)來終止守護進程。不幸的是,gprof的手冊頁說以下內容: 異形程序必須調用「退出」(2)或常才能將其保存在文件是gmon.out的 分析信息返回。 是否有辦法保存用SIGTERM或SIGKILL殺死的進程的分析信息?

    1熱度

    1回答

    我在嘗試配置我的程序時遇到問題。 我seperately編譯每個函數是這樣的: function1.o: function1.cpp g++ -g -pg -z -c function1.cpp 然後我的一切聯繫在一起是這樣的: exec: function1.o function2.o function3.o main.o g++ -g -pg -z -c -o exe

    2熱度

    3回答

    我需要分析一個用C編寫的軟件。現在的問題是,雖然gprof或我自己的開始計時器/結束計時器函數調用會爲我提供每個函數花費的時間,但我不知道哪一個是最耗時的部分在每個功能中。有些人可能認爲它是微型優化,但這就是這個小時的需求! 實現此目的之一是「手動」放置循環中的開始/結束計時器調用(可能會有多個循環)。在這種情況下,更聰明的做法是允許使用宏來啓用/禁用這些調用。 但我想自動化此儀器? 你能告訴我是

    0熱度

    1回答

    雖然配置的是位的代碼,使用與gprof的許多增強功能,有一個很討厭的,難以跟蹤輸出見下文樣,有沒有什麼辦法來清理與升壓或多個增強使用gprof的友好的選擇?從它的外觀有是塞滿了剖析輸出使它很難看到或理解調用圖 BTW繼承人的boost ::數學::政策的repition的一個例子的片段 boost::math::policies::policy<boost::math::policies::def

    5熱度

    3回答

    我一直在使用gprof探查器與g++一起使用。 我在我的代碼中有一個函數,它封裝了幾個與主函數足夠相關的行爲部分,以至於將它們分解成它們自己的函數是沒有意義的。 我想知道在這些代碼的每個區域花了多少時間。 所以,如果你想象中的代碼看起來像 function(){ A A A B B B C C C }

    1熱度

    1回答

    我有5小時(通過使用getrusage() CPU時間)運行CPU結合的過程 我試圖通過gprof的剖析它。 main()的總時間只有大約5000s。 我的程序是CPU綁定的,它有一些磁盤IO,但沒有那麼重要。配置文件中斷已打開,並且我的進程不是多線程的。

    1熱度

    3回答

    使用分析器需要重新編譯源代碼和調試選項(如gprof)和不需要重新編譯的分析器(如Valgrind,OProfile,...)之間有什麼區別?