jQuery 选择器性能 : a curious case

标签 jquery performance testing jquery-selectors jsperf

我测试了两个 ID 选择器的区别,第一个是正常的:$('#lol') 第二个是相同的,但放在多个括号之间:$((((('#lol')))))

我在 jsperf 上用 firefox 和 chrome 启动了一个测试。 结果很有趣: 使用 Firefox,第一个(普通选择器)慢 40%(!!!)。 使用 chrome,第二个慢 0.84%。

为什么会有这样的差异?有人可以解释一下吗?

jsperf.com 可靠吗?

你可以在这里看到测试:

http://jsperf.com/ghshshsrd

为了好玩,我会在其他浏览器上进行测试。

(编辑:顺便说一句,我使用的是 Mac OS X)

最佳答案

正如其他人所指出的,两种陈述所获得的结果之间的差异可以忽略不计。即使testing the same statement twice ,您不太可能会产生两个相同的 Ops/sec 值。

还注意到您说的是“一次测试”,而不是“多次测试”。如果结果看起来很奇怪,只需重复测试 - 不要忘记,如果您的浏览器在测试运行的中途资源匮乏,则可能会出现异常结果。

JSPerf 对我来说一直很可靠 - 足以用于演示优化技术 (this being a classic example)。

关于jQuery 选择器性能 : a curious case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16940540/

相关文章:

jquery - Ajax 弹出窗口在成功消息后未关闭

Jquery TE 占位符不起作用

c - System() 的性能

c - 优化 maC,性能)——跟进 bit-twiddling 问题

java - 与功能文件不同的模块中的 CUCUMBER 功能定义

javascript - 搜索成功后,当搜索文本框为空时,不会提取所有数据列表

javascript - 如何正确地将第二个变量传递给 ajax 调用

sql - VARCHAR2 与 NUMBER 之间的性能差异

ruby-on-rails - 使用地理编码器 gem 进行测试

testing - 如何显式停止场景并继续 cucumber JVM 中的其他场景