Nic*_*ver 95

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

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

  • 啊 - 所以,如果这是一个很高的百分比,我能做些什么吗? (42认同)
  • 我认为这实际上是错误的,@ user1009908的答案是正确的.它不是根,它的原生代码.树视图示例不将其显示为根,这一事实支持了这一点. (6认同)
  • 关于program%()的高%,有时css动画导致高CPU使用率,这将反映在program()中.不幸的是,分析器无法帮助确定源. (3认同)
  • @hvgotcodes - 听起来是下面所有部分的百分比.现在,如果*self*百分比很高,那么你可以做的就不多了......除非你的标记一般很重. (2认同)

use*_*908 31

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

看到这个帖子:

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

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

显然它包括空闲时间.此外,从chrome:// profiler /可以获得(程序)的一些分析.

  • 同意 - 但只是一个更新:它不再包括空闲时间.现在被单独报告为(空闲) (7认同)

Mik*_*vey 14

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

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

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

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

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

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

我不知道你是否能够获得更好的分析器,比如在线级报告的挂钟堆栈采样器,例如Zoom.这是我如何做到的.