我如何测试什么是最快的?
我想测试两个函数中哪一个最快:
function foo ( selector ) {
var $selector = $(selector);
}
或
function foo ( selector ) {
var $selector;
if ( selector instanceof jQuery ) {
$selector = selector;
} else if ( selector ) {
$selector = $(selector);
}
}
使用以下测试:
foo( "div#primary" );
foo( $("div#primary") );
解决方案可能是:
...作为一个假设性问题,如何在JavaScript中运行测试以查看是否存在速度差异?
答案 0 :(得分:3)
最简单的分析方法是记录函数之前的时间并记录之后,从后者中减去前者。重复这几次,你会有一个粗略的想法。但是有一些干扰因素,如当前的CPU使用率,可能会影响结果。浏览器的控制台可能会对您有所帮助:
console.time("test");
// ... js code here ...
console.timeEnd("test");
//-> "test: 25ms"
您也可以使用浏览器的开发者工具进行配置。
另一个选择是让http://jsperf.com为您进行分析。 jsPerf重复运行您的代码,并在您的测试用例之间进行了很好的比较。它还记录每个浏览器的结果(基于用户代理字符串),因此您可以快速比较不同浏览器中的代码。
答案 1 :(得分:1)
抱歉,我使用谷歌这样做:http://remysharp.com/2007/04/20/performance-profiling-javascript/
或者在IE9,F12中使用Profiler。我认为这也是萤火虫和铬。
答案 2 :(得分:1)
尝试jsperf - > jsperf.com
答案 3 :(得分:0)
除非你做了这么多次,否则无所谓。
所以,请选择最容易阅读的内容(即#1)