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

Chrome 调试器的函数列中的“(程序)”是什么?

33728 次浏览

(program)就是 Chrome 本身,它是调用所有其他代码的树的根... ... 它之所以存在,是因为从本机代码到 JavaScript 的跳转、资源加载等必须启动 某个地方:)

您可以看到树视图 在 Chrome 开发者工具文档中的示例。

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

CPU 分析器部分看起来像许多其他基于 与 gprof 相同的概念的分析器。

例如,自我几乎是一个无用的数字,除非有一些类似于气泡的东西——在某些代码中有一个大数组,您可以编辑它。不太可能。

Total 应该包括被调用方,这样更有用。但是,除非在阻塞时间和运行时间采集样本,否则除了完全受 CPU 约束的程序之外,它仍然是非常无用的。

它通过函数而不是通过代码行提供这些统计信息。这意味着(如果你可以依赖于 总数%) ,一个函数花费这么多,在某种意义上,如果你可以以某种方式使它花费零时间,如通过撞击它,这个百分比是多少时间,你会节省。

所以如果你想专注于一个昂贵的函数,你需要在它里面寻找什么可以被优化。为了做到这一点,您需要知道时间是如何在函数中的代码行之间进行细分的。如果你有一行代码的基础上的成本,它会带你直接到这些行。

我不知道你是否能够得到一个更好的分析器,像墙上的时钟堆栈采样器报告在行的水平,如 极速。这是 我该怎么做

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

看看这个帖子:

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

所以,更像是系统调用而不是 main ()。

显然,它包括空闲时间。此外,一些(程序)剖析可从 chrome://profiler/