Pull to refresh

Тесты производительности фреймворка Cample.js. Отчёт № 1

Level of difficultyMedium
Reading time2 min
Views1.2K

В данной статье содержатся тесты фреймворка Cample.js версии 3.2.0-alpha.12. Это первый отчёт о производительности. Нулевой отчёт вышел несколько месяцев тому назад.

Отчёт включает в себя сравнения по производительности с популярными фреймворками и библиотекой, а также сравнение с реализацией на чистом javascript.

Все результаты тестов основаны на показателях keyed реализации в репозитории js-framework-benchmark в github. Сами они располагаются на странице выпуска №122.

Были выбраны близкие по значениям производительности в данных тестах фреймворки и библиотека.

Общий тест

Первое и последующие сравнения будут происходить с фреймворками VueSvelte, библиотекой Inferno, а также с реализацией на чистом javascript. Тест включает в себя общие показатели скорости работы с таблицей в HTML. Под общими показателями подразумевается создание строк в таблице, их удаление, смена позиции и т. д.

1. Общий тест
1. Общий тест

По общим показателям c предыдущих тестов видно увеличение производительности где-то около на 2% (с 1.12), что опять же - не быстро, но, с другой стороны видно, что проблемное место с "select row" постепенно улучшается. К следующему релизу есть уверенность, что данная проблема будет исправлена.

Распределение памяти

Тесты основаны на процессах происходящих с памятью машины, на которой показывается сайт, после выполнения некоторых действий из общего теста. Такими действиями, допустим, являются использование памяти после нажатия кнопки «Обновить каждую 10-ю строку 5 раз» или использование памяти после добавления 1000 строк и т. д.

2. Распределение памяти
2. Распределение памяти

Здесь, ситуация с прошлыми тестами проходит куда лучше. По общим показателям видно, что увеличение производительности прошло где-то на 7-8% (c 1.81), что уже лучше, чем это было 2 релиза назад. Это показатели также важны как и показатели из общего теста, ведь распределение памяти компьютера на решение задачи (Допустим, "отрисовать" 10 тысяч строк в таблице), также влияет на скорость загрузки сайта.

Про показатели запуска (lighthouse с мобильной симуляцией)

С выпуска 121 данные тесты были удалены с официальных результатов. В последующих отчётах о производительности (если такие ещё будут проводится в формате статьи), данные показатели публиковаться не будут.

Выводы

В нулевом отчёте было написано про особенности данных тестов и фреймворка в целом. В данной же статье коротко хотелось бы сказать, что при качественном изменении кода синтаксис фреймворка в последующих выпусках позволит сделать результаты равными числам, лежащим где-то в области значений от 1.03 до 1.08 (если брать общий тест), что позволит наиболее быстрым способом отображать данные на сайте.

При качественном показателе производительности, а также при дополнении функционала (работа с асинхронными данными, добавление возможности монтирования компонент не только через начальную точку и других), я предполагаю, что фреймворк в скором времени сможет выпуститься в первую production версию.

Tags:
Hubs:
Total votes 2: ↑1 and ↓10
Comments3

Articles