Chrome调试器的分析器中的“(程序)”是什么?

时间:2010-10-02 23:43:47

标签: javascript google-chrome-devtools

Chrome调试器的功能栏中的“(程序)”是什么?

3 个答案:

答案 0 :(得分:91)

(program)是Chrome本身,树的根调用所有其他代码......它就在那里因为从本机代码跳转到JavaScript,资源加载等必须从某处开始:)

您可以看到树视图in the Chrome developer tool docs的示例。

答案 1 :(得分:30)

我相信(程序)是本机代码,而不是树的根。

见这个帖子:

https://bugs.webkit.org/show_bug.cgi?id=88446

因此,更像是系统调用而不是main()。

显然它包括空闲时间。此外,可以从chrome:// profiler /

获得(程序)的一些分析

答案 2 :(得分:13)

正如@Nick所说,它必须从某个地方开始。

看起来CPU Profiler部分就像基于same concepts as gprof的许多其他分析器一样。

例如, self 几乎是一个无用的数字,除非在某些代码中有一些可以编辑的大量数字的冒泡。极不可能。

总计应该包括被调用者,这样更有用。但是,除非在阻塞时间和运行时间期间采集样本,否则除了完全受cpu约束的程序外,它仍然没用。

它按功能提供这些统计数据,而不是按行代码。这意味着(如果你可以依赖 Total 百分比)一个函数花费那么多,从某种意义上说,如果你能以某种方式使它花费零时间,例如通过存根,那个百分比是多少你会节省的时间。

因此,如果您想专注于昂贵的功能,您需要在其中寻找可以优化的功能。为此,您需要知道时间如何在函数中的代码行之间细分。如果您在一行代码的基础上付出了代价,那么您将直接使用这些代码。

我不知道您是否能够获得更好的分析器,例如在行级报告的挂钟堆栈采样器,例如Zoom。这是how I do it