我已經看過gprof。但不太明白如何實現以下功能:分析特定功能C++
我寫了一個集羣過程。在每次迭代中,4個函數被重複調用。大約有100000次迭代要完成。我想知道每個功能花了多少時間。
這些函數可能會調用其他子函數,並可能涉及像hashmaps,地圖等數據結構。但我不在乎這些子函數。我只想知道在所有迭代中花費在所有父函數上的總時間。這將幫助我更好地優化我的程序。
gprof的問題是,它分析了每個函數。所以即使是stl數據結構的功能也要考慮在內。
目前我正在使用clock_gettime。對於每個函數,我輸出每次迭代所需的時間。然後我操縱這個輸出文件。爲此,我必須鍵入很多分析代碼。分析代碼使我的代碼看起來非常複雜,我想避免它。這是如何在行業中完成的?
有沒有更簡單的方法來做到這一點?
如果您有任何其他清潔的方式,請讓我知道
通過使用英特爾VTune放大器 – BSen