Chrome调试器的功能栏中的“(程序)”是什么?
Chrome调试器的功能栏中的“(程序)”是什么?
Answers:
(program)
是Chrome本身,树的根调用了所有其他代码...之所以在这里,是因为从本机代码到JavaScript,资源加载等的跳转必须从某处开始:)
您可以在Chrome开发者工具docs中查看树状视图的示例。
我相信(程序)是本机代码,而不是树的根。
看到这个线程:
https://bugs.webkit.org/show_bug.cgi?id=88446
因此,更像是系统调用而不是像main()一样。
显然,它包括空闲时间。另外,可以从chrome:// profiler /获得对(程序)的某些配置文件
正如@Nick所说,它必须从某个地方开始。
看起来CPU Profiler部分就像许多其他基于gprof的概念的探查器一样。
例如,self几乎是一个无用的数字,除非在您可以编辑的某些代码中出现类似气泡的大数字数组之类的东西。不大可能。
总应包括被叫方,这样更有用。但是,除非在阻塞时间和运行时间都进行了采样,否则除了完全由CPU绑定的程序外,它仍然毫无用处。
它按功能而不是按代码行为您提供这些统计信息。这意味着(如果您可以依靠“ 总百分比”),那么一个函数的成本就那么高,也就是说,如果您可以某种方式使它花费零时间(例如通过对它进行存根),那么该百分比就是您可以节省多少时间。
因此,如果您想专注于昂贵的功能,则需要在其中寻找可以优化的功能。为此,您需要知道如何在函数的代码行之间细分时间。如果您按代码行计算成本,那么您将直接进入这些代码行。