Dojo vs JQuery vs MooTools vs Prototype Performance Comparison

Updated: MooTools vs JQuery vs Prototype vs YUI vs Dojo Comparison Revised

As part of my Mootools lecture at Codecamp I showed a brief speed comparison between the most used Javascript Frameworks running in the major browsers. Now as the Mootools team has extended their performance test tool (slickspeed) it is time to revise my benchmarks and extend them over more browser/platforms.

Test results (Lower is better):

Speed Comparsion Graph

*For example FF (XP-NA) is Firefox 2.0.0.12 with no addons (extensions) enabled running under Windows XP

You can check the actual numbers (in ms) and the full browsers information in the table bellow:

Dojo 1.0.2 JQuery 1.2.3 MooTools 1.2beta2 Prototype 1.6.0.2
Mozilla Firefox 2.0.0.12 – no addons – winxp 128 266 115 259
Mozilla Firefox 2.0.0.12 – winxp 144 290 127 260
Mozilla Firefox 2.0.0.12 – linux 253 438 255 384
Opera 9.26 – winxp 32 136 148 194
Opera 9.26 – linux 110 188 238 364
Internet Explorer 7 – no addons – winxp 263 330 662 1563
Internet Explorer 7 – winxp 264 334 674 1583
Internet Explorer 6 387 600 945 2279
Internet Explorer 6 – linux (wine) 692 978 1310 2616
Safari 3.0.4 Beta 3 – winxp 36 76 84 116
Konqueror – linux 324 450 X X

Conclusions:

  • Safari under Windows XP is really blazing fast
  • Mootools and Prototype JS do not work under Konqueror (KDE’s default browser)
  • Dojo performs great. If we take only these test into consideration it safe to say it is the fastest Javascript Framework
  • Linux browsers are relatively slower against their Windows versions
  • Prototype is insanly slow under Internet Explorer

Disclaimer: This benchmark is somehow subjective because the test results depend on the current OS load and other factors. If you have any corrections or comments on this topic I will gladly review them and will revise the results if needed.

Be Sociable, Share!

Tags: , ,

60 Responses to “Dojo vs JQuery vs MooTools vs Prototype Performance Comparison”

  1. Beth Says:

    Peter,

    Thanks for sharing ;)

    It would be great if YUI and EXT were included as well.

  2. gomera Says:

    Peter,

    I don’t want to sound rude but could you provide us more info about this benchmark ? Because saying that one framework is slower that other without info but some numbers, it is not quite useful. What did you test ? Rendering ? Effects ? Iteration over complex structures ? Environment specifications ? Stuffs like that …

  3. Peter Says:

    @Gomera

    As written in the article i have used http://mootools.net/slickspeed/ for testing. As said on the website this tests speed/validity of the selectors. In other words how many seconds will be needed for the framework to return pointer to the needed dom element(s). Testing environment was standard Windows XP SP2 with all updates

  4. jorge báez Says:

    Peter,

    Its nice to see that figures since my tests thows completely different results… :?

    OTOH, John Resig found out some statistics on selectors usage that should weight each slickspeed
    http://ejohn.org/blog/selectors-that-people-actually-use/

  5. Peter Says:

    @Jorge as I said above the test is a bit subjective for many reasons – one as pointed in the blog post – most used selectors. Other reason is that mootools is still beta and therefore things might change.

    If you like post your figures and chart and I will attach them in the post.

  6. Dharmavirsinh Jhala Says:

    Thanks for sharing this information.
    Can we have detailed screenshot/information of each selector you run through as these scores are sum of each selector and selector usage will be basically matter of choice most of the time.

    FYI scores on my firefox 3 Beta5 were like following: (although all this highly depends on machine configuration)

    Dojo 1.0.2 JQuery 1.2.3 MooTools 1.2beta2 Prototype 1.6.0.2
    62 103 83 179

    I am using jQuery heavily and it seems to be it’s average when it comes to speed but the selectors I am using it’s fastest on them as long as I know.

    http://blogs.digitss.com/category/javascript/

  7. Nathan Says:

    Thanks for this article. I don’t have a windows machine but I’ve suspected for a while that Prototype might be easier for me than it is for the machine it’s running on.

  8. Web industry hawker-featured web2.0 Evaluating JavaScript Frameworks: Best Cross-section of Links | Says:

    [...] Another Speed Test Mostly JQuery wins: http://blog.creonfx.com/javascript/dojo-vs-jquery-vs-mootools-vs-prototype-performance-comparison [...]

  9. battisti Says:

    Whe can see if the test is based on find element, maybe for others situation, for example: create dom element or UI widgets the results will be diferent.

  10. [Suggestion] Safari Web Browser - The Global Nintendo Wi-Fi Community - Wii Message Board Says:

    [...] is an amazing web browser, and just as fast (if not faster) than Internet Explorer. Dojo vs JQuery vs MooTools vs Prototype Performance Comparison | Peter Velichkov’s Blog I found that a few months ago. As you can see, Safari is extremely fast. And that’s just [...]

  11. .:: Securnetwork.net Blog - Massimo Rabbi ::. » Javascript frameworks: qual è il migliore? Says:

    [...] Mi sono capitate però sottomano un paio di pagine interessanti. Nella fattispecie: – Dojo vs JQuery vs MooTools vs Prototype Performance Comparison – SlickSpeed Selectors Test Inutile dire che la lettura e l’esecuzione dei test ha scatenato [...]

  12. martin Says:

    Why are linux browsers always slower than their windows counterparts? Is it because of the system (linux is slower)? Less time is taken to optimize linux versions?

  13. Peter Says:

    Heh Linux is faster in many things than windows so it should be the second.

    I will be putting updated review soon, since most of the frameworks are updated and there are new browsers on the horizon

  14. Javascript frameworks: qual è il migliore? - Eurohackers.it Blog di informatica, notizie, programmazione, linux e tecnologia Says:

    [...] Mi sono capitate però sottomano un paio di pagine interessanti. Nella fattispecie: – Dojo vs JQuery vs MooTools vs Prototype Performance Comparison – SlickSpeed Selectors Test Inutile dire che la lettura e l’esecuzione dei test ha scatenato [...]

  15. hea disain toimib - jQuery : taavi Says:

    [...] Dojo vs JQuery vs MooTools vs Prototype Performance Comparison [...]

  16. verago2 » Dojo vs JQuery vs MooTools vs Prototype Says:

    [...] Dojo vs JQuery vs MooTools vs Prototype Performance Comparison [...]

  17. Mehdi Says:

    what about the compatibility of jQuery and/or Prototype with some server-side frameworks(like JSF + Richfaces, which are my goal).
    I’m researching about the compatibility of them and also the possibility of replacing the Ajax-based server-side libraries with a client-side.

  18. Quinton Says:

    on a note from Mehdi, I have recently used JSF + Richfaces and using JQuery along side it. Richfaces uses JQuery as one of its libraries (look to what the browser chucks out on the JS includes on the top of the pages) and as I can tell from my experiances with it, it uses a custom built library.

    you can use the Juery library Richfaces offers but I find you have to reference not the “$()” but directly “jQuery()”. What I do to decrease the code is to create a reference to the jQuery function, such as “var jQ = jQuery;”.

    I have not tried adding the other plugins that you can download from the jQuery site, or for that matter custom plugins, something worth experimenting with.

    Hope that helps.

  19. Quinton Says:

    on another note to add, there is a Richfaces call “<:rich:jQuery” that you can use to create jQuery specific code. something else that may help.

    check the following for a detailed reference on this…

    http://www.jboss.org/file-access/default/members/jbossrichfaces/freezone/docs/devguide/en/html/jQuery.html

    Quinton.

  20. sunyoupk Says:

    Thanks for your share, May I scrap this post?

  21. Peter Says:

    sure

  22. Ahmed Gaber Says:

    So I think for most fatest frame work is Dojo, is Dojo easy to use as prototype or YUI??
    please help me to decide which one I should use in my Site developing??

  23. Peter Says:

    1. This test are a bit old by now so speed might have changed
    2. JQuery will be somehow supported by MS
    3. Don’t have much experience with Dojo
    4. I’m a fan of Mootools but as Aaron said almost all frameworks now have similar functionality just implemented differently

    My choice would be JQuery or Mootools

  24. Saturday Night Brief - at stoopad.com Says:

    [...] Dojo toolkit: I appreciate the elegance and performance of [...]

  25. Ben Says:

    Wow, Safari is impressive!

  26. Prototype.js versus jQuery Javascript => jQuery wins Says:

    [...] inspired by the 23andMe website code, informal performance benchmarks, superior (official) documentation, and my own quick experimentation, I’m switching my [...]

  27. bugzlife Says:

    are you sure you’re not working for dojo? just kidding. i’ve used prototype, mootools and spry. i haven’t tried dojo so this article will probably make me try it.

  28. empraptor Says:

    Numbers I got from same page.

    MooTools 1.2 JQuery 1.2.6 Prototype 1.6.0.2 YUI 2.5.2 Selector beta Dojo 1.1.1

    Ubuntu 8.0.4, Firefox 3.0.5 316 330 427 639 238
    Ubuntu 8.0.4, Epiphany 2.22.2 299 306 425 634 235

  29. Blog XYOX — Empezando con Mootools, por qué Mootools? Says:

    [...] el blog de creonfx se puede ver una tabla comparativa, entre los frameworks que mensione, a mi entender entre lecturas y opiniones en la red, Prototype [...]

  30. Hussain Says:

    so the speed test, huh,
    and what about memory leaks?
    what about ease of use?

    i will be invest the few coming days to see how better is MooTools compared with Prototype( which i have been using couple of times). for a first look, the easiness of selecting elements by ID and by selectors using $() and $$() are similar .. which makes me eager to really start testing couple of mootools effects and manipulation of the dom objects in an HTML page not just plain text.

  31. dojo vs prototype vs mootools vs jquery | matteo cisilino Says:

    [...] ho trovato qualche link naturalmente molto di pare apparte questo ( spero ) , comunque il blasonato prototype non ne viene fuori molto bene , tanto meno mootools [...]

  32. Joshua Partogi Says:

    The numbers looks interesting. What tool did you use to produce this data?

    Thanks in advance

  33. Peter Says:

    As said in the post Slickspeed

  34. Alessandro Says:

    Interesting… BTW, you should update this data: jQuery 1.3 is much much faster in many things (starting from selectors).
    Also, it would be interesting to see how Chrome and SquirrelFish Extreme (the engine of Safari 4, which Apple claims is the fastest in the world) behave

  35. Peter Says:

    Alessandro, did you checked the updated post ?

  36. Keith Says:

    Peter – Where is the updated post?

  37. Keith Says:

    Found it. sorry for bothering. please do not post my previous question.

  38. MooTools | Blog om webudvikling Says:

    [...] MooTools vs. jQuery vs. Prototype vs. Dojo. Sammenligning af MooTools performance i forhold til de andre JavaScript Frameworks. [...]

  39. Vic Says:

    Prototype selectors are so significantly slow on IE (and not so fast on other browsers) only because Prototype extends many elements during search (and not because of poor algorithm or implementation). This issue is known to developers of Prototype, and they will sooner or later release some improvements.

  40. Peter Says:

    I hope so because Ruby on Rails uses it and its a shame to slow the otherwise fast framework

  41. manny Says:

    my first choice is mootools then go to jquery. When you are doing everything in mootools why do we need jquery. I heard about the compressed version of js(framework) will not support in chrome… is that real?

  42. Peter Says:

    @manny Yahoo’s javascript compressor is safe and should not lead to any problems with chrome.

  43. Steve Holden Says:

    Always good to see more benchmarking information. Having used both Dojo and Jquery (but not the others you mention) I was somewhat disappointed to discover that Dojo appeared to cause pages to initially render without Dojo-applied styling, causing a rather unpleasant visual flashing as objects were replaced by their fully-styled counterparts.

    Is this a known issue with Dojo which I was perhaps triggering by some omission? To me (in limited testing on FF 2.X and 3.0 under Windows Vista and Ubuntu) Jquery seems to have the edge for user experience.

  44. The YPI Says:

    Thanks for this fantastic comparison

  45. R-tree Says:

    Hi~ Which tool does generate the beautiful chart?

  46. Peter Says:

    @R-tree – ms excel

  47. Mini tutorial sobre Frameworks Ajax E Ajax « Weber Scripts Says:

    [...] aqui… Comparação entre os frameworks com gráficos bacanas http://blog.creonfx.com/javascript/dojo-vs-jquery-vs-mootools-vs-prototype-performance-comparison referências A Method for Model Based Design of Rich Internet Application Interactive User [...]

  48. Webagentur Says:

    Thank you … this has me very helped.

  49. deerawan Says:

    wow..nice benchmark. I confuse to choose between Jquery and dojo but after I see the benchmark, I know that dojo is the best.

  50. hanghang Says:

    Thank you.Your data helps me a lot.

  51. Saumya Says:

    Thanks for the information. Its help me lots……

  52. PatrikS Says:

    In Chrome & firefox @ ubuntu 10.04 Jquery owns dojo… so no reasons to use dojo anymore…

    http://www.domassistant.com/slickspeed/

  53. juntai81's me2DAY Says:

    Juntai81의 알림…

    Dojo vs JQuery vs MooTools vs Prototype Performance Comparison | Peter Velichkov’s Blog…

  54. steven Says:

    please consider running these comparisons again with the latest versions of the toolkits and browsers. it would really help!!

  55. deb Says:

    This is my result of test with latest versions of the frameworks (firefox on debian squeeze)
    jquery1.4.3 mootools 1.3 prototype1.6.1 protytpe1.7.0rc3
    88 167 141 74

  56. roman Says:

    Dojo have version 1.5 what update for it?

  57. Deepthi Says:

    This article has been a great help in understanding which is the best framework that we can use

  58. cbemerine Says:

    Great post, loved the comparison! Personally I am glad you did not include YUL as I believe it to be optimized for IE over other browsers and IE is a non starter for many any more. Likewise I do not miss Chrome not being included, but suspect you would want to include it in future comparisons. Personally I like the finer control over my browsing experience with Firefox to Chrome, especially with respects to privacy related issues. The Safari and Dojo results were impressive. I wonder if the new Dojo would beat out the new jQuery now?

    Thanks to @PatrickS for recommending http://www.domassistant.com/slickspeed/

    Here were my results today using that website, everyone can run their own tests, 110919 if anyone cares: 132 120 229 426 494 152 13815 142

    DOMAssistant 2.8(132); jQuery 1.4.2(120); Prototype 1.6.1(229); Mootools 1.2.4(426); ExJS Core 3.1(494); Dojo 1.4.1(152); YUI 2.8.0(13815); YUI 3.0.0(142) ~ as you can see version updates, the new jQuery is impressive.

    jQuery 1.4.2 was the fastest, followed by YUL 3.0.0 and Dojo 1.4.1. On this system I was running FireFox 3.6.11 on Ubuntu 10.04 w/ an older Kernel 2.6.32.xx but that should not matter…FYI. I wonder how my Linux Mint or Debian boxes will do? What will I discover when I install Arch on a small netbook with only 512 MB of RAM?

    The test in this post makes me want to check out Dojo and Safari specifically.

    It appears that adoption/news of the jQuery framework is significantly increasing and perhaps your comparison hints at why:

    http://www.google.com/trends?q=JavaScript+-dance%2C+JQuery%2C+Mootools&ctab=0&geo=all&date=all

    I did not include Dojo or YUI in the Google -dance listing above because of Karate references (Dojo) and the Japanese singer (YUI) which greatly skew the results. I know its not scientific, so please do not flame, I just find it interesting.

    Comparison of PHP Frameworks: (Interesting, not scientific):

    http://www.google.com/trends?q=yii+-dance%2C+CodeIgniter%2C+CakePHP%2C+Symfony%2C+ZendPHP&ctab=0&geo=all&date=all

    It will be interesting to see how jQuery, and Dojo specifically interface with various PHP Frameworks, my current focus. Are they easy to integrate with each PHP framework, etc… I expect few issues based on past experience.

    I ignored the Linux v Windows OS comparison, as should others IMO, over the years we have observed many tests invalidated based on optimizations automatically turned ON in either IE or Windows that skew the results….some sleuthing would need to be done to highlight them and apply the equivalent optimizations on the Linux system (…in Linux all the optimizations will exist, whatever they are) in order to get an accurate comparison from an OS perspective. [obviously not the primary focus here] Rarely is a Linux system slower than Windows. Start dropping memory to lower levels (I run one Linux “server” with only 256MB for coding/testing in lower memory conditions, ie Linux handhelds) the new windows would not be an option at 512MB and below, perhaps not even at 1GB of RAM. Even Linux w/ WINE usually runs faster for the one or two MS games that will never be optimized for Linux users. With Linux, since the OS requires such a small memory footprint, there is more memory available for applications and data, as it should be.

    I agree with posters above, this article helped me decide which JavaScript framework(s) to focus on. After all in the long run, we all want our websites to perform and keep performing as they scale! While the latest version of jQuery really performs, I intend to keep my eye on DoJo. Thank you!

  59. Residential plots Says:

    It will be interesting to see how jQuery, and Dojo specifically interface with various PHP Frameworks, my current focus.

  60. Counter Strike 1.6 Download Says:

    DOMAssistant 2.8(132); jQuery 1.4.2(120); Prototype 1.6.1(229); Mootools 1.2.4(426); ExJS Core 3.1(494); Dojo 1.4.1(152); YUI 2.8.0(13815); YUI 3.0.0(142) ~ as you can see version updates, the new jQuery is impressive.

Leave a Reply