Вирішив провести невелике дослідження на тему продуктивності 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 повертали помилки по багатьом запитам.
Результат тестування:
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, бо вони виявилися йому по зубах).
Якщо ж міряти продуктивність браузерів то отримаємо наступний рейтинг:
P. S. Якщо ж Вас бентежить вибір фреймворків – то можете поглянути на ресурс http://lusever.ru/css-selectors/, якщо Вам і цього мало – то тоді вже самі розгортайте бібліотеку SlickSpeed і тестуйте – та не забудьте про результаті розповісти.
P. P. S. Так само подібне дослідження проводив Юрій Дроздов на початку цього року, так що можете порівняти прогрес в розвитку фреймворків…