multiple tag selector

JavaScript performance comparison

Revision 2 of this test case created by Justin Seger

Preparation code

<style>

.zone{
  display:none;
}

</style>

<script src="https://code.jquery.com/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
    var jq142 = jQuery.noConflict();
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script>
    var jq144 = jQuery.noConflict();
</script>
<script src="https://code.jquery.com/jquery-1.5.1.min.js"></script>
<script>
    var jq151 = jQuery.noConflict();
</script>

<div class="zone"></div>
<script>
  var thismany = 1000,
      $divs = $(false),
      $spans = $(false),
      $containers = $(".zone"),
      $jq142 = jq142(".zone"),
      $jq144 = jq144(".zone"),
      $jq151 = jq151(".zone");
  
  while (thismany--) {
   $divs.push($('<div/>')[0]);
   $spans.push($('<span/>')[0]);
  }
  
  for (var i = 0; i < $containers.length; i++) {
   $containers.eq(i).append($divs.clone()).append($spans.clone());
  }
</script>
    

Preparation code output

<style> .zone{ display:none; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script> var jq142 = jQuery.noConflict(); </script> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script> var jq144 = jQuery.noConflict(); </script> <script src="https://code.jquery.com/jquery-1.5.1.min.js"></script> <script> var jq151 = jQuery.noConflict(); </script> <div class="zone"></div> <script> var thismany = 1000, $divs = $(false), $spans = $(false), $containers = $(".zone"), $jq142 = jq142(".zone"), $jq144 = jq144(".zone"), $jq151 = jq151(".zone"); while (thismany--) { $divs.push($('<div/>')[0]); $spans.push($('<span/>')[0]); } for (var i = 0; i < $containers.length; i++) { $containers.eq(i).append($divs.clone()).append($spans.clone()); } </script>

Test runner

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

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
jq142
jq142("div,span");
pending…
jq144
jq144("div,span");
pending…
jq151
jq151("div,span");
pending…
$jq142.find("div,span")
$jq142.find("div,span");
pending…
$jq144.find("div,span");
$jq144.find("div,span");
pending…
$jq151.find("div,span");
$jq151.find("div,span");
pending…
jq142 input,select
jq142("input,select")
pending…
jq144 input,select
jq144("input,select")
pending…
jq151 input,select
jq151("input,select")
pending…
$jq142.find("input,select")
$jq142.find("input,select")
pending…
$jq144.find("input,select")
$jq144.find("input,select")
pending…
$jq151.find("input,select")
$jq151.find("input,select")
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.

0 Comments