我第一次尝试使用 Callgrind/Kcachegrind 来分析我的 C++ 应用程序,我注意到需要更多时间的两个函数是:
- < 循环 1 > (50% 自我) 和
- do_lookup_x (15% 自我)
现在,根据我的理解,周期 1 与递归调用函数所用时间的估计有关,但我不太清楚我应该如何解释在这里花费的如此长的时间。如果有一些周期,我想看看哪个函数被调用得更频繁,最后占用更多的 CPU 时间。如果我禁用循环检测(视图->循环检测),那么循环 1 会消失,但“自我”时间总计约为 60%,我不确定这是最好的做法。关于 do_lookup_x 我完全一无所知......
你能澄清一下我应该如何解释这些结果吗?
提前致谢。