在英特尔-vtune中,被叫方函数的有效总时间高于调用方函数的有效总时间



我有一个多线程应用程序,当我在其上运行 vtune-profiler 时,在调用方/被调用方选项卡下,我看到被调用方函数的CPU Time: Total - Effective Time大于调用方函数的CPU Time: Total - Effective Time

例如。 调用方函数 - A

被叫方函数 - B(除了 A,没有人叫 B)

Function CPU 时间:总计
- 有效时间
A 54%
57%
可能发生
  1. 函数 B 与 A 一起被其他函数调用的情况,因此一定存在此问题。

  2. 英特尔 VTune 探查器通过采样工作,数字在短时间内不太准确。如果应用程序运行的时间很短,则可以考虑在 VTune 中使用允许多次运行或增加运行时间。

  3. 此外,英特尔 VTune 性能分析器有时会对数字进行四舍五入,因此它可能不会给出理想的结果,但差异非常小,例如 0.1%,但在您的问题中,它的差异为 3%,因此这不是它的原因。

最新更新