使用 gcc 和 gprof 進行效能分析

GNU gprof profiler gprof 允許你分析程式碼。要使用它,你需要執行以下步驟:

  1. 使用用於生成分析資訊的設定構建應用程式

  2. 通過執行構建的應用程式生成分析資訊

  3. 使用 gprof 檢視生成的分析資訊

為了使用用於生成分析資訊的設定來構建應用程式,我們新增了 -pg 標誌。所以,例如,我們可以使用

$ gcc -pg *.cpp -o app

要麼

$ gcc -O2 -pg *.cpp -o app

等等。

一旦構建了應用程式,比如 app,就像往常一樣執行它:

$ ./app

這應該產生一個名為 gmon.out 的檔案。

要檢視分析結果,請立即執行

$ gprof app gmon.out

(請注意,我們同時提供應用程式以及生成的輸出)。

當然,你也可以管道或重定向:

$ gprof app gmon.out | less

等等。

最後一個命令的結果應該是一個表,其行是函式,其列指示呼叫次數,花費的總時間,花費的自己時間(即,在函式中花費的時間,不包括對子項的呼叫)。