getElementsByTagname("a")[0] vs. querySelector("a")

JavaScript performance comparison

Revision 9 of this test case created by Jorge Chamorro

Preparation code

<ul>
<li><a href="#">Item</a></li><li><a href="#">Item</a></li><li><a href="#">Item</a></li><li><a href="#">Item</a></li><li><a href="#">Item</a></li></ul>
<script>
  var accumulator;
</script>
    

Preparation code output

<ul> <li><a href="#">Item</a></li><li><a href="#">Item</a></li><li><a href="#">Item</a></li><li><a href="#">Item</a></li><li><a href="#">Item</a></li></ul>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
Using getElementsByTagName()
var result = document.getElementsByTagName("a");
var i = result.length;
var r = [];
while (i--) r.push(result[i]);
accumulator = r;
pending…
Using querySelector()
var r = document.querySelectorAll('a');
accumulator = r;
pending…
qSA double copy
var result = document.querySelectorAll('a');
var i = result.length;
var r = [];
while (i--) r.push(result[i]);
accumulator = r;
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL.

0 Comments