jQuery and Prototype Benchmarks

Posted on April 15th, 2008, by Cristian in Development, Javascript, jQuery

Piotr Solnica did a couple of posts on jQuery and Prototype benchmarks back in the day, and John-David Dalton just found them.

In part one, he runs tests such as:

$('td.first').addClass('marked'); // jQuery

$$('td.first').each(function(cell){
  cell.addClassName('marked');
});

// or 

$$('td.first').invoke('addClassName', 'marked');

and concludes:

Executed tests show that Prototype seems to be faster then jQuery, with the exception of the new insertion method, which performance should be improved. Although I like jQuery syntax more then Prototype, the performance is way more important then saving few lines of code. Of course tests that I made don’t show how these libraries act in a real application, which is my task for the next part(s) of this article. Despite the results I must admit that I’m very excited about jQuery, my general impression is that this library is more mature then Prototype.

In part two, Piotr uses a custom JavaScript-based testing environment instead of running tests using Firebug profiler. This allows the test suite to run in many browsers, and this time concludes:

Prototype was at least 2 times faster then jQuery in 15 cases, and jQuery was faster then Prototype in 8 cases. What library should I choose? In my case I will stick with Prototype, because it offers the same functionality as jQuery does + more and it’s faster. jQuery is probably better for projects where there’s a need for some fancy UI effects and that’s it, but it’s just an assumption, correct me if I’m wrong…

Leave a comment

Advertise / Sponsors

How to Be a Rockstar Freelancer
Comments RSS Feed

Recent Comments

  • Julian Gruber: Thank you! Following those advices really can make a big difference for the success of a webapp.
  • Tom Humes: Nice Site layout for your blog. I am looking forward to reading more from you. Tom Humes
  • admin: Yes, it does the same. Basic I just get the object $(”#nicemenu span.head_menu”) once, and applied the...
  • André Beaudry: Hi, I would like to know why : $(”#nicemenu span.head_menu”).mouseov er(function(){...
  • admin: Try to change the z-index to the menu container in my example div #nicemenu. The first one should have for ex....