2010-04-22 26 views
3

我想用一些javascript(jQuery)尝试一些不同的选项来查看哪个是最快的,但是我无法正确分析正常工作。这是我想测试的代码。Firebug分析问题:“没有配置文件的活动”

$this.keypress(function(e) { 
     console.profile("test"); 

     //retrieve the charcode if possible, otherwise get the keycode 
     k = e.which ? e.which : e.CharCode; 

     if (blockKeyCodes.indexOf("|" + k + "|") != -1 || e.ctrlKey && k == 86) 
      e.preventDefault(); 

     console.profileEnd(); 
    }); 

但是,当我运行这个控制台状态“没有活动配置文件”。如果我使用console.time,结果是0ms。

任何人都知道如何解决这个问题?

回答

3

萤火虫探查不给通过本地方法所花费的时间,包裹整个功能集成到一个函数并调用轮廓起点和终点之间的功能。

1

我想你不需要在启动配置文件时指定一个名称。或者,你有没有试过console.time?

http://getfirebug.com/logging

萤火虫为您提供了两种简单的方法来衡量 JavaScript性能。低端的方法是在你想测量的 代码之前调用 console.time(“timing foo”),然后再调用 console.timeEnd(“timing foo”) 。然后,Firebug将记录在其间花费的时间 。

高端的方法是使用 JavaScript分析器。只需调用 console.profile()之前您要测量的代码 ,然后再使用 console.profileEnd()。 Firebug将记录详细报告 大约花费多少时间在其间的每个函数调用中。

+0

我试过没有指定名称。如上所述,console.time给出了0ms的结果。 – Alistair 2010-04-22 20:53:15

0

在运行代码之前打开分析功能吗?

点击萤火>控制台>简介

你应该萤火看到一条消息说:“运行Profiler时,再次单击‘个人资料’,看看它的报告。”

HTH

+1

我试着打开分析。但是如果我这样做,它会启动一个新的分析器并结束其中的一个,所以最后还有一个仍在运行。 – Alistair 2010-04-22 20:54:29

+1

就这样,我很清楚....首先你打开分析,你得到的味精“分析器正在运行。再次点击'配置文件'看到它的报告。”,然后你运行你的代码,然后你按配置文件按钮?你没有得到个人资料报告? – DannyLane 2010-04-23 00:38:51

+0

我的理解是,你不需要点击'个人资料'。这就是console.profile()行的用途。当我这样做时,console.profile()行创建另一个配置文件,然后console.profileEnd()行关闭我通过单击创建的配置文件。所以档案数据是我开始的。 另请注意,点击分析开始分析,但我需要在我的代码中启动它来分析一段精确的代码。或者我错过了什么? – Alistair 2010-04-23 02:18:19