jQuery 1.4.2 vs 1.8.2 vs 1.9 vs 1.9.1 (v11)

Revision 11 of this benchmark created on


Description

Ref. http://jsperf.com/jquery-15-unique-traversal

Preparation HTML

<script src="//code.jquery.com/jquery-1.4.4.min.js">
</script>
<script>
  var $14 = jQuery.noConflict();
</script>
<script src="//code.jquery.com/jquery-1.8.2.min.js">
</script>
<script>
  var $18 = jQuery.noConflict();
</script>
<script src="//code.jquery.com/jquery-1.9.0.min.js">
</script>
<script>
  var $19 = jQuery.noConflict();
</script>
<script src="//code.jquery.com/jquery-2.0.0b1.js">
</script>
<script>
  var $191 = jQuery.noConflict();
</script>


<input id="val" type="text" value="foo">
<div id="children" style="display:none;">
</div>
<script>
  var i, j, html = "";
  for (j = 0; j < 20; j++) {
    html += "<div class='children'>";
    for (i = 0; i < 5; i++) {
      html += "<div>abc</div><div>012</div>";
    }
    html += "</div>";
  }

  document.getElementById("children").innerHTML = html;
</script>
<div id="id-outer">
  <div id="id-inner">
  </div>
</div>

Setup

var $14val = $14('#val');
    var $18val = $18('#val');
    var $19val = $19('#val');
    var $191val = $191('#val');
    
    var $14children = $14(".children");
    var $18children = $18(".children");
    var $19children = $19(".children");
    var $191children = $191(".children");
    
    var $14outer = $14('#id-outer');
    var $18outer = $18('#id-outer');
    var $19outer = $19('#id-outer');
    var $191outer = $191('#id-outer');

Test runner

Ready to run.

Testing in
TestOps/sec
1.4.2
$14val.val();
$14('#id-inner');
$14children.children();
$14outer.find('#id-inner');
ready
1.8.2
$18children.children();
$18outer.find('#id-inner');
$18('#id-inner');
$18val.val();
ready
1.9
$19children.children();
$19outer.find('#id-inner');
$19('#id-inner');
$19val.val();
ready
1.9.1
$191children.children();
$191outer.find('#id-inner');
$191('#id-inner');
$191val.val();
ready

Revisions

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