2012-12-09 53 views
1

我有一个JavaScript文件,它接受输入,对它进行一些计算并返回结果。现在,我想测量它的性能,例如检查运行1.000个输入需要多少时间。问题是我几乎没有Javascript的知识(代码不是我的,既不是),所以我不知道如何做到这一点。 StackOverflowing我发现了一些类似的问题,但它是关于“脚本运行一次需要多少时间”而不是“脚本需要多少时间才能完成1.000个输入”。测量JavaScript性能

如果可以帮助,this是脚本。

+1

尝试使用[** jsperf **](http://jsperf.com/)。它会让你包含你需要的任何脚本,并设置一个测试用例,然后你就可以看到性能如何,并与相同代码的其他变体进行比较等。 – adeneo

回答

2

我会(根据是否有窗口控制台存在并具有时间属性)做这样的事情:

if('console' in window && 'time' in window.console){ 

    console.time('time'); 
    for (var k=0;k<1000;k++) { 
     derp(input); 
    } 
    console.timeEnd('time'); 

} else { 

    var d = new Date(); 
    for (var k=0;k<1000;k++) { 
     derp(input); 
    } 
    console.log('result: ' + new Date().getTime() - d.getTime() + 'ms'); 

} 
+0

不是我所需要的(检查单个运行时运行),但可以很容易地修复。将要编辑以匹配请求。 –

+0

@GiulioMuscarello,你想做什么?衡量每个运行单独?在这种情况下,将代码放入循环中。 – Johan

+0

我没有注意到for循环是隐式的,所以添加它。 –

0

,如果你想测量和分析这个脚本,你只需要增加你的JavaScript知识(至少一点点)。

然后你可以使用像benchmark.js这样的基准测试工具。你可以在你的浏览器或node.js中使用它。

jsperf.com使用benchmark.js。你可以在那里建立一个应该在几分钟内完成的测试用例。它通常用于比较2个脚本,但是您可以将脚本放入两个测试中,并且您有第一个指示