Давненько я не порівнював продуктивність JavaScript-фреймворків, пора це виправити, і оновити дані дворічної давності.

В якості інструменту я взяв тест SlickSpeed і встановив на свій хостинг, у списку випробовуваних виявилися наступні фреймворки:

  • Dojo 1.4.3
  • JQuery 1.4.2
  • MooTools 1.2.4
  • Prototype 1.6.1 і 1.7.2
  • ExtJS Core 3.1
  • YUI 3.1.1

А так само браузери, встановлені на моїй системі:

  • Mozilla Firefox 3.6.3
  • Opera 10.53
  • Google Chrome 5.0.375.55 beta
  • Safari 4.0.3
  • Internet Explorer 8.0

Результати тестування

Всі тести проводив 5 разів — для достовірності (тобто з урахуванням алгоритму тестування, результат — середнє значення від 30 запусків). Все розширення браузерів були відключені. Результати наведені в мілісекундах.

Dojo 1.4.3
jQuery 1.4.2
MooTools 1.2.4
Prototype 1.6.1
Prototype 1.7.2
ExtJS Core 3.1
YUI 3.1.1
Avg
Firefox 3.6.3

68,51

Opera 10.53

45,31

Google Chrome 5.0

27,71

Safari 4.0.3

29,51

Internet Explorer 8.0

295,06

Avg
48,68
42,24
127,72
143,56
47,88
113,16
129,32
62,6 52,6 89,4 68,4 42,8 109,2 54,6
37,2 33,2 61,6 45,2 34,2 70,2 35,6
18,20 13,60 59,40 24,60 13,60 45,00 19,60
19,00 14,80 56,40 20,20 13,00 64,80 18,40
106,40 97,00 371,80 559,40 135,80 276,60 518,40

Зведений графік отриманих даних:

Відкинемо IE, а то він сильно псує картину:

Висновки

Найшвидшим фреймворком виявляється jQuery:

  • jQuery 1.4.2 — 42,24 мс
  • Prototype 1.7.2 — 47,88 мс
  • Dojo 1.4.3 — 48,68 мс
  • ExtJs Core 3.1.0 — 113,16 мс
  • MooTools 1.2.4 — 127,72 мс
  • YUI 3.1.1 — 129,32 мс
  • Prototype 1.6.1 — 143,56 мс
  • І в «медальному заліку» та ж картина — Prototype зовсім трохи відстає:

    Dojo 1.4.3
    jQuery 1.4.2
    MooTools 1.2.4
    Prototype 1.6.1
    Prototype 1.7.2
    ExtJS Core 3.1
    YUI 3.1.1
    Firefox 3.6.3

    Opera 10.53

    Chrome 5.0

    Safari 4.0.3

    IE 8.0

    Total
    17
    7
    30
    27
    8
    31
    19
    4 2 6 5 1 7 3
    4 1 6 5 2 7 3
    3 1 7 5 1 6 4
    4 2 6 5 1 7 3
    2 1 5 7 3 4 6

    А серед найшвидших браузерів Google Chrome, на п’яти наступає Safari:

  • Google Chrome 5.0 — 27,71 мс
  • Safari 4.0.3 — 29,51 мс
  • Opera 10.53 — 45,31 мс
  • Mozilla Firefox 3.6.3 — 68,51 мс
  • Internet Explorer 8.0 — 295,06 мс
  • А у медальному заліку» вони обмінялися місцями:

    Dojo
    jQuery
    MooTools
    Prototype
    Prototype
    ExtJS Core
    YUI
    Total
    Firefox 3.6.3

    28

    Opera 10.53

    21

    Chrome 5.0

    11

    Safari 4.0.3

    10

    IE 8.0

    35

    4 4 4 4 4 4 4
    3 3 3 3 3 3 3
    1 1 2 2 2 1 2
    2 2 1 1 1 2 1
    5 5 5 5 5 5 5

    P. S. Якщо хочете – додам ще фреймворки для порівняння, залишайте посилання і назва функції для тестування…