2010-10-02 50 views

回答

89

(program)是Chrome浏览器本身的树,并调用其他所有代码的根......它的存在,因为从本机代码的JavaScript,资源负载等跳跃已开始地方 :)

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

+37

啊 - 所以如果这是一个很高的百分比,有什么我可以做的吗? – hvgotcodes 2010-10-03 00:08:20

+2

@hvgotcodes - 它听起来是下面所有部分的百分比。现在,如果* self *百分比很高,那么您可以做的事情就不多了......除非您的标记总体上非常重。 – 2010-10-03 00:09:38

+1

您是否知道如何访问“(程序)”部分中的代码?不知何故,目前我正在从事的项目中的JavaScript部分最终会在那里完成,而我可以在调试器中完成的唯一方法就是放置“调试器”。进入代码,这是不是很舒服。 – 2012-06-19 12:37:39

13

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

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

例如,self几乎是无用的数字,除非在某些代码中存在某种类似泡泡排序的数字,您可以编辑这些数字。不大可能。

总计应该包括被调用者,所以这更有用。但是,除非阻塞时间以及运行时间内采集样本,否则,除非完全是cpu-bound程序,否则它仍然是无用的。

它给你这些功能的统计资料,而不是按行代码。这意味着(如果你可以依靠总数百分比),一个函数的成本非常高,因为如果你能以某种方式让它花费零时间,比如通过剔除它,这个百分比是你可以节省多少时间。

所以,如果你想专注于一个昂贵的功能,你需要在它内部寻找可以优化的内容。为了做到这一点,您需要知道如何在函数中的代码行之间细分时间。如果你花费在一行代码基础上,它会直接把你带到这些线上。

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

+1

我可以得到一个更好的铬探查器? – hvgotcodes 2010-10-03 03:44:26

+0

@hvgotcodes:不确定。我不使用它们,因为我只是在调试器中拍摄堆叠照片。但是你在Linux上,对吗?你可以得到Zoom的试用版吗?这个很不错。 – 2010-10-03 12:41:46

+0

不是linux。苹果电脑。 – hvgotcodes 2010-10-03 13:58:06

29

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

看到这个线程:

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

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

显然它包括空闲时间。 (程序)的一些分析可以从chrome:// profiler/

+7

同意 - 但只是一个更新:它不包括闲置时间了。现在分别报告为(闲置) – Gio 2014-06-13 10:44:25

相关问题