CPU 中的百分比 Chrome 中的分析器

Percentages in CPU profiler in Chrome

chrome cpu 分析器中 "Heavy (Bottom Up)" 视图的百分比表示什么?具体来说,我的意思是在 "Total" 列中。 我曾考虑占总 cpu 时间的百分比(在配置文件记录过程中总计 cpu 时间)但如果是这种情况,那么这些数字对我来说没有意义,因为总金额在某些情况下,对我来说,cpu 百分比时间加起来大于 100。这是否意味着仅在函数调用中占总 cpu 时间的百分比?如果是这样,那有什么意义呢?或者它是否可能仅指示单个内核上的 cpu 时间,因此具有多个内核将 return 总和大于 100 的百分比?

谢谢!

包含的时间加起来不是100%,超过了,所以不要加起来。假设您有调用 B 的例程 A,调用 C 的例程 B,依此类推,通过 D、E、F,最后到实际上在 100% 的时间内启动 CPU 的 G。那么F有100%的包容时间,E、D也是,一直到A。

包容性时间比自我时间更有用,1) 因为它包括自我时间,以及 2) 因为问题很可能出在这些例程中的任何一个中,而不仅仅是 G.

因此它为您提供了更多寻找加速的地方,结果您找到了更多。

让我们假设 A 调用 B,B 调用 C,并且 C 执行了一半的分析时间。如果 A 和 B 只相应地调用 B 和 C,那么 A、B 和 C 各自的总时间将为 50%。如您所见,总计为 150%。但是,A 和 B 的自拍时间为 0%,C 的自拍时间为 50%。

在自下而上视图的第二层总时间是 root 函数在第二层节点结束的调用堆栈顶部时的总时间.这同样适用于所有更深层次的递归。

这对于递归调用来说比较复杂。另请参阅 http://crbug.com/523537,了解该领域的最新变化。