linux性能分析工具gprof

linux gprof是一個很強大又方便易用的性能分析工具,可以查看函數的調用次數/執行時間,方便找到程序的性能瓶頸所在。
編譯時加入 -pg 即可,假設產生的程序文件是 app,
運行程序並且在程序結束之後會出現gmon.out之類的輸出文件
然後運行gprof app 即可在stdout上看到性能分析的輸出
輸出量比較大,可以重定向到一個文件來慢慢看

如果需要顯示源碼,則可以使用gprof 的-A選項

如果需要每行分析,還需要加上-g的編譯選項

如果需要對libc的庫函數進行性能分析,需要在鏈接時使用-lc_p代替-lc

如果是daemon形式的程序,最好先把daemon去掉

一般來講,fprintf之類的格式打印和I/O操作最耗費時間,比如log。

系統調用相對來講也比較慢,比如time(),調用54w次耗時0.29s,open調用8w次耗時0.35s,相比之下,_itoa_word調用了1700w次才耗時0.20s

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章