jQuery vs JavaScript Performance Comparison

JavaScript performance comparison

Revision 14 of this test case created and last updated

Preparation code

<div id="hello"></div>
<div class="bye"></div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
 
<script>
Benchmark.prototype.setup = function() {
    var allEls = document.getElementsByTagName("*"),
      i,
      idHash = { 'tag' : [], 'class' : [], 'id' : [] };
   
    for( i in allEls ){
      var thisEl = allEls[i],
          classes = (thisEl.className) ? thisEl.className.split(' ') : [];
   
      idHash.tag[thisEl.tagName] = idHash.tag[thisEl.tagName] || [];    
      idHash.tag[thisEl.tagName].push( thisEl );
     
      for( j in classes ){
        var classStr = classes[j];
       
        idHash.class[classStr] = idHash.class[classStr] || [];
        idHash.class[classStr].push( thisEl );
      }
   
      idHash.id[thisEl.id] = thisEl;
    }
};
</script>

Preparation code output

Test runner

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

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
jQuery ID Selector
var $el = $('#hello'); // jQuery object
pending…
JavaScript ID Selector
var el = document.querySelector('#hello'); // DOM element
pending…
jQuery Class Selector
var $el = $('.bye'); // jQuery object
pending…
JavaScript Class Selector
var el = document.querySelector('.bye'); // DOM elements
pending…
get element by id
var el = document.getElementById('hello'); // DOM element
pending…
get element by id to Jquery
var el = document.getElementById('hello'), // DOM element
   $el = $(el);                            // jQuery object
pending…
ID Selection: Frontload ID assignments, cache, then read from cache
var el = idHash.id['hello'];
pending…
Class Selection: Frontload Class assignments, cache, then read from cache
var el = idHash.class['bye'];
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. Here’s a list of current revisions for this page:

0 comments

Add a comment