使用 gcc 和 gprof 進行效能分析
GNU gprof profiler gprof 允許你分析程式碼。要使用它,你需要執行以下步驟:
-
使用用於生成分析資訊的設定構建應用程式
-
通過執行構建的應用程式生成分析資訊
-
使用 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
等等。
最後一個命令的結果應該是一個表,其行是函式,其列指示呼叫次數,花費的總時間,花費的自己時間(即,在函式中花費的時間,不包括對子項的呼叫)。