querySelectorAll vs getElementById (v87)

Revision 87 of this benchmark created by Argomix on


Preparation HTML

<p id="foo" class="cbar">bar</p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js"></script>
<script
			  src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
			  integrity="sha256-3edrmyuQ0w65f8gfBsqowzjJe2iM6n0nKciPUp8y+7E="
			  crossorigin="anonymous"></script>

Setup

var S = function(query){
  let q = query[0];
  return (q === ".") ? document.getElementsByClassName(query.slice(1)) :
         (q === "#") ? document.getElementById(query.slice(1)) :
         document.querySelectorAll(query);
  };
  
  var X = function(query){
    let q = query[0];
    if (q === "."){
        return document.getElementsByClassName(query.slice(1));
    }else if (q === "#"){
    		return document.getElementById(query.slice(1));
    }else{
    		return document.querySelectorAll(query);
    }
  };

Test runner

Ready to run.

Testing in
TestOps/sec
select
var result = S(".cbar");
ready
querySelectorAll
var result = document.querySelectorAll('.cbar');
ready
getElementsByClassName
var result = document.getElementsByClassName('cbar');
ready
jQuery
var result = jQuery(".cbar");
ready
Zepto
var result = Zepto(".cbar");
ready
select2
var result = X(".cbar");
ready

Revisions

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