我已经看过gprof。但不太明白如何实现以下功能:分析特定功能C++
我写了一个集群过程。在每次迭代中,4个函数被重复调用。大约有100000次迭代要完成。我想知道每个功能花了多少时间。
这些函数可能会调用其他子函数,并可能涉及像hashmaps,地图等数据结构。但我不在乎这些子函数。我只想知道在所有迭代中花费在所有父函数上的总时间。这将帮助我更好地优化我的程序。
gprof的问题是,它分析了每个函数。所以即使是stl数据结构的功能也要考虑在内。
目前我正在使用clock_gettime。对于每个函数,我输出每次迭代所需的时间。然后我操纵这个输出文件。为此,我必须键入很多分析代码。分析代码使我的代码看起来非常复杂,我想避免它。这是如何在行业中完成的?
有没有更简单的方法来做到这一点?
如果您有任何其他清洁的方式,请让我知道
通过使用英特尔VTune放大器 – BSen