Антон Шевчук // Web-разработчик

Производительность JavaScript фреймворков // JavaScript

Решил провести небольшое исследование на тему производительности JavaScript фреймворков в различных браузерах…

В качестве инструмента взят тест SlickSpeed, в списке испытуемых оказались следующие фреймворки:

Судить о популярности данных фреймворков можно по графику:

А так же список браузеров:

  • 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

Ну а теперь слайды – сводный график всех доступных мне браузеров:

All browsers and Frameworks

Откинем, странный по своей сути, браузер IE – дабы получше разглядеть происходящее:

JavaScript Framework Perfomance w/o IE

Как видим – с правильными браузерами лучше всего работает Dojo (116,75ms) – стабильно быстро – но c Safari у него возникают ошибки. Совсем чуть-чуть отстал от него jQuery (129ms), затем Mootools (160,5ms), Prototype (288,75ms) и YUI (416,25ms).

Если же заострить свое вниманием на IE то мы увидим следующий график:

JavaScript Framework Perfomance IE average

Тут лучше всех себя показал jQuery (хотя и отказался работать в IE 5.5), второй – MooTools, Dojo оказался на 3-м месте, и отвратительно показал себя при работе в IE 8.0b2.

Если же подводить итог о самом быстром JavaScript фреймворке – то побеждает jQuery (в основном за счет творений MS, ибо они оказались ему по зубам).

Если же мерять производительность браузеров то получим следующий рейтинг:

  1. Opera 9.62 (204ms)
  2. Google Chrome 0.4.154 (219,8ms)
  3. Safari 3.1.2 (221,2ms)
  4. Mozilla Firefox 3.0.4 (244ms)
  5. Internet Explorer 8.0 B2 (936ms) – идут верной дорогой
  6. Internet Explorer 7.0 (1045,2ms)
  7. Internet Explorer 5.5 (2390,75ms)
  8. Internet Explorer 6.0 (2437,4ms)

P.S. Если же Вас смущает выбор фреймворков – то можете взглянуть на ресурс http://lusever.ru/css-selectors/, если Вам и этого мало – то тогда уж сами разворачивайте библиотеку SlickSpeed и тестируйте – да не забудьте о результате рассказать.

P.P.S. Так же подобное исследование проводил Юрий Дроздов в начале этого года, так что можете сравнить прогресс в развитии фреймворков…

© Антон Шевчук 2007-2017