这非常有趣,这个网站运行速度测试并比较所有这些;
Javascript frameworks Speed Comparison
基于此,似乎最新的jquery版本几乎比旧版本快2倍,但即使是最新的jquery也没有表现得那么好IMO
提问时间:
所以我的问题,我是新手
javascript,你认为这个测试
是非常准确的?
如果确实如此,这甚至意味着
任何性能方面或
是不是很明显?
答案 0 :(得分:2)
PureDom测试有时被列为较慢的事实,因为一些框架让我怀疑测量的准确性。或者我猜测网站制作者的编程能力:P
特别是在看到这些数字之后,我会说功能,易用性和社区支持比性能差异更重要。使用你喜欢的东西,如果你偶然必须做一些非常依赖性能的东西,那就自己动手吧。
答案 1 :(得分:1)
流行的JavaScript库的性能绰绰有余。这很大程度上取决于你对它们的处理方式:尽管jQuery可能很快“在纸上”,但它是一个可以轻松用来无意中创建非常慢的代码的库。例如,很容易用它做很多低效的DOM修改。
由于图书馆都很快,对我个人而言,重要的是图书馆本身的发展速度和适用性。有些东西比其他东西更适合某些东西。
答案 2 :(得分:1)
我不会太注意他们。他们没有遵循最佳实践,根本没有优化。
以“make”jquery 1.3.2测试(下面的代码)为例
如果你去here并打开fireBug,你可以看到我已经将他们的方法与最佳方法进行了比较。差异是惊人的。
为了清楚起见,我称他们为makeBad和makeGood。结果如下:
(来源:gyazo.com)
结论:用一小撮盐取结果。它们不是现实世界的例子
"makeBad": function(){
for(var i = 0; i<250; i++){
$("<ul id='setid" + i + "' class='fromcode'></ul>")
.append("<li>one</li><li>two</li><li>three</li>")
.appendTo("body");
}
return $("ul.fromcode").length;
},
根本没有优化。你不应该在循环内附加到dom。最好推送到阵列,然后一次附加到dom。写得好得好如下。
"makeGood": function(){
var domBuilder = [];
for(var i = 0; i<250; i++){
domBuilder.push("<ul id='setid" + i + "' class='fromcode'>")
domBuilder.push("<li>one</li><li>two</li><li>three</li>")
domBuilder.push("</ul>")
}
$('#body').append( "<div>" + domBuilder.join() + "</div>");
return $("ul.fromcode").length;
},
答案 3 :(得分:1)
您需要选择符合您需求的图书馆。
找到适合您的库并继续使用。随着时间的推移,您和图书馆出版商都会找到最佳方法来最大限度地提高代码的效果。
答案 4 :(得分:0)
首先,该测试是纯粹的理论测试,只是速度而不是其他任何事情(没有计算内存使用量,没有实际使用情况等),除此之外,最重要的一个库不是理论速度,它的功能和支持。
其次,在性能方面,所有的库都足够快,可以做任何你需要它做的事情,而程序员则会让它变慢。
最后,我的个人意见是你应该使用最新版本的jQuery,因为它的可用性(CSS3选择器)和简单的AJAX实现。