上周想定位DA的性能瓶頸葱峡,所以研究了下性能分析的工具。類似的工具有很多龙助,如:vtune,valgrind,gprof砰奕。Callgrind是valgrind工具集合中的一種。其優(yōu)點是:使用簡單提鸟,不需要額外的代碼引入军援,不需要更復雜的編譯參數(shù)(建議-g)。缺點是:由于是動態(tài)搜集cpu的指令称勋,所以運行比較慢胸哥。
上周先嘗試跑了下ac模塊的分析,這個工具的產(chǎn)出類似如下:
{ImgCap}{/ImgCap}
說明:
(1)Incl列降序羅列了各個函數(shù)的耗時情況铣缠;
(2)右下角顯示了詳細的call graph烘嘱;
(3)初步的分析可以看到,ac中蝗蛙,占用了73.9%的處理時間蝇庭,這個基本符合預期。
其中捡硅,snprintf占用了15.52%的處理時間哮内,這個不太符合預期,需要進一步確認跟進。
感覺工具對于理解模塊調(diào)用關(guān)系和性能瓶頸分析很直觀北发,分享給大家纹因。
使用場景:
(1)linux c++后臺開發(fā)
可視化工具下載地址:點擊下載