gprof是否适合分析长期运行的程序?为什么或者为什么不?

问题描述 投票:0回答:2

我知道在打印平面轮廓之前,gprof中的样本计数频率。根据样本计数的频率,我判断程序运行的时间会更长,收集的样本更多是为了进行分析,因此数据更好。但我不确定这是否属实,以及长时间运行的程序是否适合在gprof上进行分析。

任何输入都会非常有用。

gprof
2个回答
1
投票

的确,gprof具有优势(在任何平台上都具有可用性)但缺点使得他不适合更复杂的程序。 1)检测添加函数调用开销2)共享库中的cant配置文件代码3)配置文件只有主线程4)不提供有关缓存未命中的信息5)不给出flops / s 6)不分析循环等


0
投票

到目前为止,我对我的回答最合乎逻辑的是:

如果程序长时间运行并且我们只对分析感兴趣,那么grpof似乎是一个合适的工具,因为gprof依赖于样本采集的频率,默认情况下为100 Hz。如果gprof的运行时间非常小,并且如果在这个小的持续时间内它调用许多函数,则很可能用于分析的样本大小非常小,因此分析函数的样本不可靠。否则,用于分析的检测开销可能增加程序的运行时间,并且总执行时间可能不反映应用程序的实际运行时间,这可以通过调用操作系统内核提供的合适时间函数来简单地测量。

© www.soinside.com 2019 - 2024. All rights reserved.