jQuery Cached Set

JavaScript performance comparison

Revision 42 of this test case created

Info

Compare performance of cached vs repeated element selections

Preparation code

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<div id="top" class="mydiv">
  <p id="para_1" class="mytext">
    Paragraph one
  </p>
  <p id="para_2" class="mytext">
    Paragraph two
  </p>
  <p id="para_3" class="mytext r1" data-idf='1'>
    Paragraph three
  </p>
  <span id="span_1" class="mytext r1" data-idf='2'>
    Text in a span
  </span>
</div>
<p id="para_4" class="mytext">
  Paragraph four
</p>
<p id="para_5" class="r1">
  Paragraph five
</p>
<p id="para_6" class="mytext" data-idf='2'>
  Paragraph six
</p>
<script>
  var parent_el = document.getElementById("top");
  var cached = jQuery(parent_el).find('p.mytext');
  var $t=$('#top'), $p=$t.find('p');
</script>

Preparation code output

Paragraph one

Paragraph two

Paragraph three

Text in a span

Paragraph four

Paragraph five

Paragraph six

Test runner

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

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
Cached elements
$t.find('*').filter( function() { return !$(this).hasClass('r1'); } );
pending…
No cache
$t.children().filter( function() { return !$(this).hasClass('r1'); } );
pending…
Cache2
$t.find('p').not('.r1');
pending…
Cach3
$t.find('p').filter( function() { if($(this).hasClass('r1')) return false; else return true;  } );
pending…
parseInt
$t.find('p').filter( function() { return !$(this).hasClass('r1'); } );
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