jQuery Cached Set

JavaScript performance comparison

Revision 9 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">
    Paragraph three
  </p>
  <span id="span_1" class="mytext">
    Text in a span
  </span>
</div>
<p id="para_4" class="mytext">
  Paragraph four
</p>
<p id="para_5" class="mytext">
  Paragraph five
</p>
<p id="para_6" class="mytext">
  Paragraph six
</p>
<script>
  var parent_el = $(document.getElementById("top"));
  var cached = parent_el.find('p.mytext');
  var mytext = $('p.mytext');
</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
cached.css('color', '#ff0000');
cached.css('text-decoration', 'underline');
cached.css('background-color', '#eeeeee');
pending…
No cache
parent_el.find('p.mytext').css('color', '#ff0000');
parent_el.find('p.mytext').css('text-decoration', 'underline');
parent_el.find('p.mytext').css('background-color', '#eeeeee');
pending…
Cache2
cached.css('color', '#ff0000').css('text-decoration', 'underline').css('background-color', '#eeeeee');
pending…
No cache - single CSS
parent_el.find('p.mytext').css({
  "color": "#ff0000",
  "text-decoration": "underline",
  "background-color": "#eeeeee"
});
pending…
Cache3
cached.css({
  "color": "#ff0000",
  "text-decoration": "underline",
  "background-color": "#eeeeee"
});
pending…
New Cache 1
parent_el.find(mytext).css('color', '#ff0000');
parent_el.find(mytext).css('text-decoration', 'underline');
parent_el.find(mytext).css('background-color', '#eeeeee');
pending…
New Cache 2
parent_el.find(mytext).css({
  "color": "#ff0000",
  "text-decoration": "underline",
  "background-color": "#eeeeee"
});
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:

1 comment

er commented :

wer

Add a comment