Run details:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
Chrome 114
Linux
Desktop
one year ago
Test name Executions per second
getElementById 4881847.5 Ops/sec
getElementsByClassName 3217128.8 Ops/sec
getElementsByTagName 3707519.2 Ops/sec
querySelector (#id) 2210109.0 Ops/sec
querySelector (.id) 3615973.2 Ops/sec
querySelectorAll (#id) 1281168.4 Ops/sec
querySelectorAll (.id) 1813206.1 Ops/sec
Cash (#id) 1994651.6 Ops/sec
Cash (.id) 1454077.5 Ops/sec
Cash (tag#id) 891103.1 Ops/sec
Cash (tag.id) 1007108.7 Ops/sec
Cash + getElementById 1781113.9 Ops/sec
Cash + getElementsByClassName 1442425.5 Ops/sec
jQuery (#id) 1799376.4 Ops/sec
jQuery (.id) 985682.2 Ops/sec
jQuery (tag#id) 559641.8 Ops/sec
jQuery (tag.id) 638208.7 Ops/sec
jQuery + getElementById 1790113.2 Ops/sec
jQuery + getElementsByClassName 802778.9 Ops/sec
Umbrella(#id) 471808.2 Ops/sec
Umbrella(.id) 520650.2 Ops/sec
Umbrella(tag#id) 476042.4 Ops/sec
Umbrella(tag.id) 467797.9 Ops/sec
Umbrella + getElementById 1099308.2 Ops/sec
Umbrella + getElementsByClassName 621509.2 Ops/sec
HTML Preparation code:
AخA
 
1
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"><script>
2
<script>jQuery.noConflict();</script>
3
<script src="https://cdnjs.cloudflare.com/ajax/libs/cash/7.0.3/cash.min.js"></script>
4
  <script src="https://cdn.jsdelivr.net/npm/umbrellajs"></script>
5
<div id="foo" class="foo2"></div>
Tests:
  • getElementById

     
    var el = document.getElementById("foo");
    var className = el.className;
  • Umbrella(tag.id)

     
    var el = u("div.foo2");
    var className = el.className;
  • Umbrella(tag#id)

     
    var el = u("div#foo");
    var className = el.className;
  • Umbrella(.id)

     
    var el = u(".foo2");
    var className = el.className;
  • Umbrella(#id)

     
    var el = u("#foo");
    var className = el.className;
  • jQuery + getElementsByClassName

     
    var el = jQuery(document.getElementsByClassName("foo2"));
    var className = el.className;
  • jQuery + getElementById

     
    var el = jQuery(document.getElementById("foo"));
    var className = el.className;
  • jQuery (tag.id)

     
    var el = jQuery("div.foo2");
    var className = el.className;
  • jQuery (tag#id)

     
    var el = jQuery("div#foo");
    var className = el.className;
  • jQuery (.id)

     
    var el = jQuery(".foo2");
    var className = el.className;
  • jQuery (#id)

     
    var el = jQuery("#foo");
    var className = el.className;
  • Umbrella + getElementById

     
    var el = u(document.getElementById("foo"));
    var className = el.className;
  • Cash + getElementsByClassName

     
    var el = $(document.getElementsByClassName("foo2"));
    var className = el.className;
  • Cash (tag.id)

     
    var el = $("div.foo2");
    var className = el.className;
  • Cash (tag#id)

     
    var el = $("div#foo");
    var className = el.className;
  • Cash (.id)

     
    var el = $(".foo2");
    var className = el.className;
  • Cash (#id)

     
    var el = $("#foo");
    var className = el.className;
  • querySelectorAll (.id)

     
    var el = document.querySelectorAll('.foo2');
    var className = el.className;
  • querySelectorAll (#id)

     
    var el = document.querySelectorAll('#foo');
    var className = el.className;
  • querySelector (.id)

     
    var el = document.querySelector('.foo2');
    var className = el.className;
  • querySelector (#id)

     
    var el = document.querySelector('#foo');
    var className = el.className;
  • getElementsByTagName

     
    var el = document.getElementsByTagName("div")[0];
    var className = el.className;
  • getElementsByClassName

     
    var el = document.getElementsByClassName("foo2");
    var className = el.className;
  • Cash + getElementById

     
    var el = $(document.getElementById("foo"));
    var className = el.className;
  • Umbrella + getElementsByClassName

     
    var el = u(document.getElementsByClassName("foo2"));
    var className = el.className;