Производительность JavaScript фреймворков // JavaScript
Решил провести небольшое исследование на тему производительности JavaScript фреймворков в различных браузерах…
В качестве инструмента взят тест SlickSpeed, в списке испытуемых оказались следующие фреймворки:
- MooTools 1.2
- JQuery 1.2.6
- Prototype 1.6.0.2
- YUI 2.5.2 Selector beta
- Dojo 1.1.1
А так же список браузеров:
- Internet Explorer 5.5
- Internet Explorer 6.0
- Internet Explorer 7.0
- Internet Explorer 8.0 B2
- Opera 9.62
- Mozilla Firefox 3.0.4
- Safari 3.1.2
- Google Chrome 0.4.154
IE 5.5 – в нем все фреймворки показывали странные результаты, а jQuery отказался работать – он воспринял только поиск по Id.
IE 8.0 – сыроват, некторые запросы даже кушали всё процессорное время, Dojo и YUI возвращали ошибки по многим запросам.
Результат тестирования:
MooTools | jQuery | Prototype | YUI | Dojo | Avg(ms) | |
---|---|---|---|---|---|---|
Firefox 3.0.4 | 172 | 181 | 309 | 430 | 128 | 244 |
Opera 9.62 | 210 | 120 | 184 | 391 | 115 | 204 |
Google Chrome | 125 | 84 | 438 | 347 | 105 | 219 |
Safari 3.1.2 | 135 | 131 | 224 | 497 | 119 | 221 |
Internet Explorer 5.5 | 811 | 0 | 4035 | 3672 | 1045 | 2390 |
Internet Explorer 6.0 | 1061 | 847 | 5085 | 3929 | 1265 | 2437 |
Internet Explorer 7.0 | 527 | 414 | 2236 | 1406 | 643 | 1045 |
Internet Explorer 8.0 | 567 | 326 | 1781 | 1070 | 0 | 936 |
Avg | 451 | 300 | 1786 | 1467 | 488 |
Ну а теперь слайды – сводный график всех доступных мне браузеров:
Откинем, странный по своей сути, браузер IE – дабы получше разглядеть происходящее:
Как видим – с правильными браузерами лучше всего работает Dojo (116,75ms) – стабильно быстро – но c Safari у него возникают ошибки. Совсем чуть-чуть отстал от него jQuery (129ms), затем Mootools (160,5ms), Prototype (288,75ms) и YUI (416,25ms).
Если же заострить свое вниманием на IE то мы увидим следующий график:
Тут лучше всех себя показал jQuery (хотя и отказался работать в IE 5.5), второй – MooTools, Dojo оказался на 3-м месте, и отвратительно показал себя при работе в IE 8.0b2.
Если же подводить итог о самом быстром JavaScript фреймворке – то побеждает jQuery (в основном за счет творений MS, ибо они оказались ему по зубам).
Если же мерять производительность браузеров то получим следующий рейтинг:
- Opera 9.62 (204ms)
- Google Chrome 0.4.154 (219,8ms)
- Safari 3.1.2 (221,2ms)
- Mozilla Firefox 3.0.4 (244ms)
- Internet Explorer 8.0 B2 (936ms) – идут верной дорогой
- Internet Explorer 7.0 (1045,2ms)
- Internet Explorer 5.5 (2390,75ms)
- Internet Explorer 6.0 (2437,4ms)
P.S. Если же Вас смущает выбор фреймворков – то можете взглянуть на ресурс http://lusever.ru/css-selectors/, если Вам и этого мало – то тогда уж сами разворачивайте библиотеку SlickSpeed и тестируйте – да не забудьте о результате рассказать.
P.P.S. Так же подобное исследование проводил Юрий Дроздов в начале этого года, так что можете сравнить прогресс в развитии фреймворков…