我研究过gprof。但不太明白如何实现以下目标:
我写了一个聚类程序。在每次迭代中,重复调用 4 个函数。大约有 100000 次迭代需要完成。我想知道每个函数花费了多少时间。
这些函数可能会调用其他子函数,并且可能涉及哈希图、地图等数据结构。但我不关心这些子函数。我只想知道所有这些父函数在所有迭代中花费了多少总时间。这将帮助我更好地优化我的程序。
gprof 的问题在于,它会分析每个函数。因此,甚至 stl 数据结构的功能也被考虑在内。
目前我正在使用clock_gettime。对于每个函数,我输出每次迭代所花费的时间。然后我操作这个输出文件。为此,我必须输入大量分析代码。分析代码使我的代码看起来非常复杂,我想避免它。这在行业中是如何做到的?
有没有更简单的方法来做到这一点?
如果您有其他更清洁的方法,请告诉我