sudo yum install perf* html
注:這個也能夠用源碼安裝,好比我係統目錄:/usr/src/kernels/3.10.0-862.el7.x86_64/tools/perf 這裏邊直接帶有perfgit
首先編譯debug版程序,好比編譯了test程序,而後使用以下命令windows
函數
這時候程序正常結束的會自動生成perf.data 文件。這個文件仍是須要藉助perf來看,以下工具
perf report性能
內容大概以下:spa
從上圖能夠看清楚時間主要消耗在哪裏,不過perf看起來仍是不夠清楚,並且函數調用不夠深(我沒仔細研究,可能還有其它參數設置。).net
能夠去valgrind 官網 http://valgrind.org/downloads/current.html 下載,安裝步驟能夠看REDME,安裝很方便,我當時沒出問題。debug
這裏只操做生成調用關係圖,tool還包含內存檢查等其它組件,具體使用能夠查資料。htm
例如:我有以下帶參數的siggle-main程序,使用如下命令,當程序正常退出時能夠生成callgrind.out.xxx文件:
valgrind --tool=callgrind ./bin/single-main ./models/ ./data/wav_list.txt test.out
此文件拷貝到windows平臺而後藉助圖形工具kcachegrind 打開,去官網下載:http://kcachegrind.sourceforge.net/html/Download.html
打開內容以下,函數調用,時間消耗清晰明瞭: