假设我有以下调用结构:
funcA() -> funcB() -> funcC()
funcB() -> funcC(),funcD()
在VTune结果(热点探测结果)中,显示了单个函数的CPU时间。我的问题是cpu时间在本质上是否是“加性的”?也就是说,A在结果中的时间也包括B和C在第一行的执行时间,以及B在结果中的时间是否也包括C和D在第二行的执行时间?
如果没有,请确认热点分析是否报告了B =第一行B的执行时间+第二行B的执行时间?
发布于 2021-06-02 20:54:19
英特尔VTune,英特尔顾问和其他一些分析器(如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
https://stackoverflow.com/questions/67791433
复制相似问题