我知道在打印平面轮廓之前,gprof中的样本计数频率。根据样本计数的频率,我判断程序运行的时间会更长,收集的样本更多是为了进行分析,因此数据更好。但我不确定这是否属实,以及长时间运行的程序是否适合在gprof上进行分析。
任何输入都会非常有用。
答案 0 :(得分:1)
是的,gprof具有优势(在任何平台上都可用) 然而,缺点使他不适合更复杂的节目。 1)检测增加了函数调用开销 2)共享库中的cant配置文件代码 3)配置文件只有主线程 4)不提供有关缓存未命中的信息 5)没有给出翻牌 6)没有分析循环 等
答案 1 :(得分:0)
到目前为止,我的答案对我来说是最符合逻辑的:
如果程序运行时很长,我们只对分析感兴趣,那么grpof似乎是合适的 工具,因为gprof依赖于样品采集的频率,默认情况下为100 Hz。如果 gprof的运行时间非常小,如果在这个小的持续时间内它会调用许多函数,那么 分析的样本大小很可能非常少,因此分析的样本很可能 功能不可靠。否则,用于分析的检测开销可以增加 程序的运行时间和总执行时间可能不会反映一个程序的实际运行时间 应用程序,可以简单地通过调用提供的合适时间函数来测量 操作系统内核。