0

假设我有以下调用结构:

funcA() -> funcB() -> funcC()

funcB() -> funcC(), funcD()

在 VTune 结果(带有热点的 uarch-exploration 结果)中,显示了各个函数的 CPU 时间。我的问题是 CPU 时间是否本质上是“加法”的?即results中A的时间还包括第一行B和C的执行时间,那么results中B的时间是否也包括第二行C和D的执行时间?

如果不是,请确认热点分析是否报告B的执行时间=第一行B的执行时间+第二行B的执行时间?

4

1 回答 1

0

英特尔 VTune、英特尔 Advisor 和其他一些分析器(例如 Crhome 分析器)报告包含(包括 B、C、D)和排他(A,除了 B、C、D,因此是附加的)时间指标。包容性称为“总时间”,而排斥性称为“自我时间”。阅读更多内容:https://software.intel.com/content/www/us/en/develop/documentation/vtune-help/top/reference/cpu-metrics-reference/self-time-and-total-time。 html

于 2021-06-02T20:54:19.800 回答