jquery vs prototype selectors

JavaScript performance comparison

Revision 5 of this test case created

Preparation code

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<script>
  var $j = jQuery.noConflict();
</script>
<script src="//ajax.googleapis.com/ajax/libs/prototype/1/prototype.js">
</script>
<script src="http://xuijs.com/downloads/xui-2.3.2.min.js">
</script>
<div id="findMe" class="imHiding">
</div>

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-selector-id
$j('#findMe')
pending…
prototype-selector-id
$('findMe')
pending…
jquery-selector-class
$j('.imHiding')
pending…
prototype-selector-class
$$('.imHiding')
pending…
xui-selector-id
x$('#findMe')
pending…
xui-selector-class
x$('.imHiding')
pending…
native class
document.getElementsByClassName('imHiding');
pending…
native id
document.getElementById('findMe');
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:

2 comments

VR commented :

Traversing on DOM for document that contains only one element is definitely wrong. Try taking a real world example, on a complicated page.

Jared commented :

Interesting. Any articles on why prototype is faster though?

Add a comment