Вирішив провести невелике дослідження на тему продуктивності 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

Opera 9.62

Google Chrome

Safari 3.1.2

Internet Explorer 5.5

Internet Explorer 6.0

Internet Explorer 7.0

Internet Explorer 8.0

Avg

172 181 309 430 128 244
210 120 184 391 115 204
125 84 438 347 105 219
135 131 224 497 119 221
811 0 4035 3672 1045 2390
1061 847 5085 3929 1265 2437
527 414 2236 1406 643 1045
567 326 1781 1070 0 936
451 300 1786 1467 488

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

Відкинемо, дивний по своїй суті, браузер IE – щоб трохи краще розгледіти, що відбувається:

Як бачимо – з правильними браузерами найкраще працює Dojo (116,75 ms) – стабільно швидко – але Safari c у нього виникають помилки. Зовсім трохи відстав від нього jQuery (129ms), потім Mootools (160,5 ms), Prototype (288,75 ms) і YUI (416,25 ms).

Якщо ж загострити свою увагу на IE то ми побачимо наступний графік:

Тут найкраще себе показав jQuery (хоча і відмовився працювати в IE 5.5), другий – MooTools, Dojo опинився на 3-му місці, і огидно показав себе при роботі в IE 8.0b2.

Якщо ж підбивати підсумок про найшвидшому JavaScript фреймворку – то перемагає jQuery (в основному за рахунок творінь MS, бо вони виявилися йому по зубах).

Якщо ж міряти продуктивність браузерів то отримаємо наступний рейтинг:

  • Opera 9.62 (204ms)
  • Google Chrome 0.4.154 (219,8 ms)
  • Safari 3.1.2 (221,2 ms)
  • Mozilla Firefox 3.0.4 (244ms)
  • Internet Explorer 8.0 B2 (936ms) – йдуть вірною дорогою
  • Internet Explorer 7.0 (1045,2 ms)
  • Internet Explorer 5.5 (2390,75 ms)
  • Internet Explorer 6.0 (2437,4 ms)
  • P. S. Якщо ж Вас бентежить вибір фреймворків – то можете поглянути на ресурс http://lusever.ru/css-selectors/, якщо Вам і цього мало – то тоді вже самі розгортайте бібліотеку SlickSpeed і тестуйте – та не забудьте про результаті розповісти.

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