gpt4 book ai didi

javascript - webkit 分析器

转载 作者:行者123 更新时间:2023-11-29 20:21:31 26 4
gpt4 key购买 nike

什么是“self”和“total”列? “总计”列加起来不等于 100%(高得多),看起来像 self 一样。我怀疑 self 是非累积的,而 total 是。因此,如果 methodA 调用 methodB 调用 methodC,在 self Id 中会单独看到每个方法调用的百分比,而 total methodA 将显示所有三个方法的总数,methodB 将显示 2,依此类推。

这是正确的吗?

最佳答案

假设你有这个程序:

main() 调用 A() 调用 B() 调用 C(),C 在循环中挂起 10 秒。CPU 分析器会说这样的话:

total time: 10 sec
routine self% inclusive%
main 0 100
A 0 100
B 0 100
C 100 100

C 的自身时间为 10 秒,100%。其他人的 self 时间基本上为零。

他们每个人的总(含)时间为 10 秒或 100%。你不会把它们加起来。

另一方面,假设 C 花费 10 秒来执行 I/O。然后 CPU-only 分析器会说这样的话:

total time: 0 sec
routine self% inclusive%
main ? ?
A ? ?
B ? ?
C ? ?

因为它使用的唯一实际 CPU 时间太短了,基本上没有样本命中它,所以要得到它除以零的百分比。

OTOH 如果样本是挂钟时间,您将获得第一个输出。

一种更好的分析器类型是在挂钟时间对调用堆栈进行采样,并告诉您包含时间占总时间的百分比,并在代码行级别将其提供给您,而不仅仅是函数。这很有用,因为它可以直接衡量如果该行执行得更少可以节省多少,并且几乎没有任何问题可以隐藏。此类分析器的示例是 ZoomLTProf ,我被告知 OProfile 可以做到。有 a simple method适用于任何语言,只需要一个调试器。

Here's a discussion of the issues.

关于javascript - webkit 分析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3795162/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com