Test name | Executions per second |
---|---|
getElementById | 4497577.0 Ops/sec |
getElementsByClassName | 2458621.0 Ops/sec |
getElementsByTagName | 3448969.2 Ops/sec |
querySelector (#id) | 2197167.5 Ops/sec |
querySelector (.id) | 3156968.0 Ops/sec |
querySelectorAll (#id) | 1303684.5 Ops/sec |
querySelectorAll (.id) | 1723900.9 Ops/sec |
Cash (#id) | 1864847.5 Ops/sec |
Cash (.id) | 1389172.9 Ops/sec |
Cash (tag#id) | 885428.1 Ops/sec |
Cash (tag.id) | 1049909.6 Ops/sec |
Cash + getElementById | 1584057.4 Ops/sec |
Cash + getElementsByClassName | 1280998.4 Ops/sec |
jQuery (#id) | 1726463.5 Ops/sec |
jQuery (.id) | 912304.7 Ops/sec |
jQuery (tag#id) | 533453.2 Ops/sec |
jQuery (tag.id) | 617216.1 Ops/sec |
jQuery + getElementById | 1811869.2 Ops/sec |
jQuery + getElementsByClassName | 727197.5 Ops/sec |
Umbrella(#id) | 464359.9 Ops/sec |
Umbrella(.id) | 563696.4 Ops/sec |
Umbrella(tag#id) | 481680.0 Ops/sec |
Umbrella(tag.id) | 531958.6 Ops/sec |
Umbrella + getElementById | 1156742.0 Ops/sec |
Umbrella + getElementsByClassName | 395611.5 Ops/sec |
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"><script>
<script>jQuery.noConflict();</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/cash/7.0.3/cash.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/umbrellajs"></script>
<div id="foo" class="foo2"></div>
var el = document.getElementById("foo");
var className = el.className;
var el = u("div.foo2");
var className = el.className;
var el = u("div#foo");
var className = el.className;
var el = u(".foo2");
var className = el.className;
var el = u("#foo");
var className = el.className;
var el = jQuery(document.getElementsByClassName("foo2"));
var className = el.className;
var el = jQuery(document.getElementById("foo"));
var className = el.className;
var el = jQuery("div.foo2");
var className = el.className;
var el = jQuery("div#foo");
var className = el.className;
var el = jQuery(".foo2");
var className = el.className;
var el = jQuery("#foo");
var className = el.className;
var el = u(document.getElementById("foo"));
var className = el.className;
var el = $(document.getElementsByClassName("foo2"));
var className = el.className;
var el = $("div.foo2");
var className = el.className;
var el = $("div#foo");
var className = el.className;
var el = $(".foo2");
var className = el.className;
var el = $("#foo");
var className = el.className;
var el = document.querySelectorAll('.foo2');
var className = el.className;
var el = document.querySelectorAll('#foo');
var className = el.className;
var el = document.querySelector('.foo2');
var className = el.className;
var el = document.querySelector('#foo');
var className = el.className;
var el = document.getElementsByTagName("div")[0];
var className = el.className;
var el = document.getElementsByClassName("foo2");
var className = el.className;
var el = $(document.getElementById("foo"));
var className = el.className;
var el = u(document.getElementsByClassName("foo2"));
var className = el.className;