TaskSpeed – porovnejte si sami rychlost JS framewoků. Vyhrává Dojo
Nálepky:
Pokud si chcete porovnat rychlost javascriptových frameworků, můžete vyzkoušet test TaskSpeed. Testy proběhnou ve vašem prohlížeči a výsledky budou po vašem odsouhlasení odeslány na server, kde se generují žebříčky. Z těch se zatím jako nejrychlejší ukazuje framework Dojo. Mezi nejpomalejšími najdete jQuery a Prototype. Pěkně je vidět i snaha o zrychlování frameworků, např. velký pokrok jQuery 1.3.x oproti verzi 1.2.x.
Zajímavé je i porovnání rychlostních žebříčků mezi jednotlivými prohlížeči, např. MooTools je rychlý ve Firefoxu a Safari, ale v IE6 a IE7 se propadá a např. jQuery jej hravě předběhne. To mj. ukazuje, že problematika rychlosti není vůbec jednoduchá a na jednoduchá porovnání frameworků mezi sebou bychom se vůbec neměli spoléhat, vždy bude zásadně rozhodovat i typ a verze používaného prohlížeče. (Zdroj: Ajaxian)
Co se týká MooTools, tak zpomalení v Internet Exploreru je způsobeno tím, že IE nepodporuje Element prototype, proto je třeba všechny metody nakopírovat do elementu ručně, proto to zpomalení. Ostatní frameworky tohle neřeší, protože prototype nemodifikují (krom Prototype.js). Tím se mootools liší. Jednoduše, je to o tom, buď mít metodu addClassToElement(el, 'someClass'), nebo el.addClass('someClass'). Druhý přístup je ala mootools. JQuery podporuje podobný zápis, ale tak, že vytváří wrapper class. Stejně tak jako YUI3. Připravované MooTools 2 rozšiřují element jiným způsobem, který je asi o 10000 % rychlejší ;), takže výsledky budou jiné. Taky je třeba říct, že element se rozšiřuje jednou, takže následné testy (opakované), by vypadaly také jinak. A ještě poznámka, proč je jQuery tak pomalé, je dané jeho "architekturou" plnou univerzálních magic method, které tak platí daň za svou univerzalitu.