getElementById vs. getElementsByClassName vs. querySelector vs. jQuery vs xpath (v48)

Revision 48 of this benchmark created on


Description

Changes to rev 26 (rev 27 is worse):
- repositioning xpath
- remove foo + checks for it (search for selecting elem by id once is enough)
- remove getElementById("poo") in querySelector (Class) & jQuery Class Selector for a true comparison of the algorithms.
- jQuery Class Selector -> jQuery w. querySelector
- added real jQuery ClassSelector

Preparation HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<p id="bar" class="my-baz">
  Bar
</p>
<span id="baz" class="my-baz">
  Baz
</span>

Test runner

Ready to run.

Testing in
TestOps/sec
getElementById
var bar = document.getElementById("bar");
ready
querySelector (ID)
var bar = document.querySelector("#bar");
ready
jQuery ID Selector
var bar = $("#bar");
ready
xpath eval
var bar = document.evaluate("//*[@id='bar']", document, null, 9, null).singleNodeValue;
ready
getElementsByClassName
var baz = document.getElementsByClassName("my-baz");
ready
querySelector (Class)
var baz = document.querySelector(".my-baz");
ready
jQuery ClassSelector
var baz = $(".my-baz");
ready
jQuery w. querySelector
var baz = $(document.querySelector(".my-baz"));
ready

Revisions

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