【问题标题】:Profiling JavaScript without crashing your browser在不使浏览器崩溃的情况下分析 JavaScript
【发布时间】:2011-04-24 09:30:49
【问题描述】:

所以尝试分析一些代码,我认为最简单的方法(至少在 Firefox 上)是使用 consoletime/timeEndprofile/profileEnd ,我都试过了。

我遇到的问题是在 Firefox 崩溃之前我可以运行的次数。现在我不会在这里粘贴代码,因为它是典型的基准测试代码(而且非常混乱),但显然它的要点是它运行函数(测试用函数表示),记录它们的执行时间一定数量运行次数。

现在以 5e4 为例,它可以工作,但我认为它不足以发现(非常)微优化,但更重要的是,它会崩溃。

那么你如何分析你的 JavaScript 呢?因为这种方式,几乎是行不通的。

【问题讨论】:

    标签: javascript profiling firebug


    【解决方案1】:

    当我用来分析我的 JavaScript 代码时,我使用了 Chrome 的分析器;开发人员视图中的 JavaScript 控制台提供了它,它对我来说非常有用。你试过吗?

    【讨论】:

    • 但是,当您进行大量运行分析时,它是否会使您的 Chrome 崩溃?这就是重点。
    • 很抱歉之前没有指定。我并没有真正把它推到极限,所以我不能在这里真正回答,但我建议你试一试。
    【解决方案2】:

    我尝试在 FF4 上的 Firebug 和 Chrome(最新版本)中使用大量脚本分析页面。 Firefox 在一两秒内崩溃,Chrome 似乎没有问题。也许您可以在Firebug issues list 中找到相关内容?

    【讨论】:

    • 但这并不是 Firebug 的真正问题。我的循环使 Firefox 崩溃,而不是 Firebug 的分析器。
    • 在我运行 Firebug 分析器之前,我的循环不会使 FB 崩溃,所以我会说这是一个组合。
    • 好吧,我在安装和卸载 Firebug 的情况下都试过了。而且,如果是 Firebug 的原因,为什么它也会在 Chrome 和 IE 中崩溃?
    【解决方案3】:

    虽然不是传统的代码分析器,但我推荐Google's Speed Tracer

    使用 Speed Tracer,您可以更好地了解您的应用程序花费了哪些时间。这包括由 JavaScript 解析和执行、布局、CSS 样式重新计算和选择器匹配、DOM 事件处理、网络资源加载、计时器触发、XMLHttpRequest 回调、绘画等引起的问题。

    【讨论】:

      【解决方案4】:

      我认为JavaScript Debugger(又名Venkman)中的分析器非常好。 addons.mozilla.org 上当前的版本与 Firefox 4 不兼容,但已提交使其工作所需的更改。详情请见https://bugzilla.mozilla.org/show_bug.cgi?id=614557

      【讨论】:

      • 嗯,Firefox 4.0.1 不可用:
      • 您可以从 Mercurial 获得 4.0 兼容版本。有关更多信息,请参阅链接的 bugzilla 页面(刚刚更新)。
      【解决方案5】:

      dynaTrace AJAX edition(free)- 你包里又多了一个工具。恕我直言,提供更详细的性能指标。他们以前只支持 IE,但他们的新版本也支持 FF。另见Steve Sounder's blog

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-07
        • 2018-01-21
        • 2013-01-06
        • 1970-01-01
        • 1970-01-01
        • 2014-08-27
        相关资源
        最近更新 更多