Pull to refresh

Тестирование производительности jQuery Templates

Reading time2 min
Views2.2K
image Как мы все знаем Microsoft подобрела и выпустила некоторые свои вещи под свободной лицензией MIT. В числе них оказались и их новые плагины для jQuery. Плагины оказались мощными настолько, что «независимое» сообщество решило включить, так давно просимый функционал шаблонов, в основную библиотеку (тут). Нонсенс! Фурор! Или… Или есть какие-то иные причины? Не будем это выяснять, а лучше посмотрим на сравнительные тесты данной библиотеки, и подумаем, нужно ли это нам на самом деле.



Всё началось с того, что я попробовал библиотеку шаблонизации в своём новом функционале. Я был обескуражен. Система была настолько тормозной, что я полез смотреть, не засел ли в процессах вирус, или иное демоническое существо. Всё оказалось чистым, и тогда я решил сравнить производительность библиотеки с другими вариантами.

Тестирование

Итак встречаем конкурсантов
  • Microsoft Template: страница
  • PureJSTemplate: остатки на plugins.jquery.com
  • Кривые руки: Добавление span по одному: $("<span/>").text(..).appendTo(..)
  • Прямые руки: Добавление строки span сформированных через склейку массива

Метод тестирования
  1. Забить в div тысячу span'ов
  2. Сравнить время
  3. Сделать выводы
  4. ???
  5. Profit

Анализируемые браузеры
  • Internet Explorer 8
  • Mozilla 3.6.12
  • Chrome 8. Как быстро летит время, помню его еще в первой версии, а вон уже IE догнал, скоро оперу перегонит.
  • Opera 10.63

Результаты

Результаты

Выводы
  • Новый шаблонизатор от MS в среднем в 29 раз медленнее, если бы всё делать ручками.
  • В случае с Оперой, он сравним, в производительности, с кривыми руками, за которые, имхо, надо гнать взашей…
  • Существующий PureJSTemplate в некоторых тестах оказался сравним с выпрямленными руками. А в некоторых случаях и быстрее, что, в общем, то, странно.
  • PureJSTemplate в IE8 показывает очень странные результаты, по сравнению с другими плагинами.
ИМХО выводы
  • Абсолютным победителем, во всех тестах признан Chrome, кто бы сомневался.
  • IE8, на удивление, сравнимо с Оперой. Лично я в шоке.
  • Понимая свою паранойю, я думаю, что Microsoft намеренно выпустила тормознутый продукт, для того чтобы запугать рынок AJAX приложений.
  • Не надо мне говорить, про удобство и разделение дизайна и кода. Всему есть предел. Доработали бы лучше PureJSTemplate чтобы не нужно было создавать для каждого шаблона свой textbox, и чтобы не обязательно указывать, куда мне выводить полученный результат.

PS Проверить на своем компьютере можно тут. Ну или протестировать на jsfiddle.net

PSS Разместил тест на jsperf.com
Tags:
Hubs:
+17
Comments46

Articles

Change theme settings