Реактивность во Vue рефакторилась после версии 3.1 два раза
В результате, прирост скорости по некоторым направлениям очень значительный
#vue #performance #benchmark
В результате, прирост скорости по некоторым направлениям очень значительный
#vue #performance #benchmark
🔥5
Итоги года от Cloudflare Radar
Начнем год с позитива.
Как мы и оценивали пару месяцев назад, Vue в целом в два раза отстает от React. Успех Nuxt, конечно, грандиозен.
Исследовались top 5000 доменов. Неточности однозначно есть (с тем же Laravel, наверняка), но в целом должно быть правильно
#benchmark #vue #react #stats
Начнем год с позитива.
Как мы и оценивали пару месяцев назад, Vue в целом в два раза отстает от React. Успех Nuxt, конечно, грандиозен.
Исследовались top 5000 доменов. Неточности однозначно есть (с тем же Laravel, наверняка), но в целом должно быть правильно
#benchmark #vue #react #stats
🔥3👍1
Вышла вторая редакция проекта PLB (Programming Language Benchmark) по тестированию производительности решения типовых задач на различных языках программирования
В ней измеряется производительность кода для умножения матриц и решения задачи расстановки 15-ферзей, а также дополнительно оценивает поиск решений в игре Судоку и определение пересечений двух массивов.
Как видно, все языки программирования находятся примерно на одном уровне, за исключением Elixir, PHP, Perl, Python:CPython и Ruby.
Bun не показывает чудес по отношению к Node.js+JIT
В реальных задачах данная производительность обычно играет глубоко второстепенную роль после DX (удобства работы с языком), задержек в работе с UI, сетью, базой данных и прочих накладных расходов.
#benchmark
В ней измеряется производительность кода для умножения матриц и решения задачи расстановки 15-ферзей, а также дополнительно оценивает поиск решений в игре Судоку и определение пересечений двух массивов.
Как видно, все языки программирования находятся примерно на одном уровне, за исключением Elixir, PHP, Perl, Python:CPython и Ruby.
Bun не показывает чудес по отношению к Node.js+JIT
В реальных задачах данная производительность обычно играет глубоко второстепенную роль после DX (удобства работы с языком), задержек в работе с UI, сетью, базой данных и прочих накладных расходов.
#benchmark
❤2
👍3
Небольшое исследование по популярности серверных языков, а так же производительности некоторых PHP фреймворков и CMS
#benchmark #php #backend
#benchmark #php #backend
DOM manipulation performance - React, Svelte and Vue comparison
https://krausest.github.io/js-framework-benchmark
#benchmark #react #svelte #vue
https://krausest.github.io/js-framework-benchmark
#benchmark #react #svelte #vue
🤣13👍3
У каких фреймворков есть реактивный state management из коробки.
Внутри компонента, и за пределами компонентов.
#illustration #benchmark #state #react #solidjs #svelte #angular
Внутри компонента, и за пределами компонентов.
#illustration #benchmark #state #react #solidjs #svelte #angular
Жесткий наезд на разработчиков GitLab
В этой статье проводился анализ тяжеловесности сайтов в плане JavaScript кода. В общем зачёте первое место заняли Slack с 55Мб (в несжатом виде), а также react.dev, который при скроле подгружается скриптами и был доведен до 100Мб. Для справки, дистрибутив всего Windows 95 занимал 50Мб.
В конце статьи в разделе "лендинги" похвалили сайт jquery.com, который использует всего 100Кб скриптов, и опустили сайт gitlab.com, который грузит 13Мб JavaScript-a для своего статичного лендинга, и по этому параметру занимает первое место в разделе.
Напомню, GitLab частично написан на Vue. На главной странице обнаруживается Nuxt.js.
Стыд и позор...
#jquery #gitlab #facepalm #benchmark #video
В этой статье проводился анализ тяжеловесности сайтов в плане JavaScript кода. В общем зачёте первое место заняли Slack с 55Мб (в несжатом виде), а также react.dev, который при скроле подгружается скриптами и был доведен до 100Мб. Для справки, дистрибутив всего Windows 95 занимал 50Мб.
В конце статьи в разделе "лендинги" похвалили сайт jquery.com, который использует всего 100Кб скриптов, и опустили сайт gitlab.com, который грузит 13Мб JavaScript-a для своего статичного лендинга, и по этому параметру занимает первое место в разделе.
Напомню, GitLab частично написан на Vue. На главной странице обнаруживается Nuxt.js.
Стыд и позор...
#jquery #gitlab #facepalm #benchmark #video
YouTube
Колхозный Фронтенд
Видео взято с канала Виталия Орехова
https://www.youtube.com/channel/UCRkQ5F-b2qU2rYE7-GfGkOA
Звук https://soundcloud.com/viruzzz-kun/kolkhoznyy-frontend
https://www.youtube.com/channel/UCRkQ5F-b2qU2rYE7-GfGkOA
Звук https://soundcloud.com/viruzzz-kun/kolkhoznyy-frontend
😁3
Кто выбирает OS для разработки, Linux в среднем на одном и том же железе чуть быстрей Windows, а Win 10 быстрей Win 11
#benchmark
#benchmark
Рейтинг фронтенд фреймворков по количеству набранных в 2023 году GitHub звезд
Забавно, что Vue 2 набрал не сильно меньше Vue 3. По общему числу звезд Vue 2 уже отстал от React.
Также интересно, что у Svelte и Vue примерно одинаковое количество звезд каждый месяц (что может коррелировать с вливанием новых разработчиков в фреймворк), но число реальных проектов в коммерческой сфере отличается на порядок (или порядки)
#rating #benchmark #framework
Забавно, что Vue 2 набрал не сильно меньше Vue 3. По общему числу звезд Vue 2 уже отстал от React.
Также интересно, что у Svelte и Vue примерно одинаковое количество звезд каждый месяц (что может коррелировать с вливанием новых разработчиков в фреймворк), но число реальных проектов в коммерческой сфере отличается на порядок (или порядки)
#rating #benchmark #framework
🤔3
Proxy - объект, появившийся в JavaScript начиная с ES6, и позволяющий сделать над объектом "обертку" для перехвата операций get, set, defineProperty и некоторых других.Именно он используется во
Vue 3 Reactivity API для реализации Reactive (и Ref на объектах).Однако за это приходится платить производительностью. Доступ к свойству объекта через
Proxy примерно в 30 раз медленней, чем просто к свойству объекта.
let sum = 0
// 1. proxy access
const point = new Proxy({ x: 10, y: 20 }, { get: (t, k) => t[k] })
for (let i = 0; i < 100_000; i++) { sum += point.x }
// 2. direct access
const point = { x: 10, y: 20 }
for (let i = 0; i < 100_000; i++) { sum += point.x }
Это из-за того, что
Proxy плохо поддаётся JIT оптимизации.Разница в производительности простого объекта с
Reactive будет еще больше.Поэтому использовать
ref/reactive на статичных данных или данных, которым не нужна реактивность (например, для хранения JWT токена в сторе) - не очень разумно.#tip #performance #benchmark #proxy #reactive
👍23❤4
Интересное исследование по производительности CSS в scoped областях в браузерах.
Vue использует HTML уникальные атрибуты для обозначения скоупа, Svelte - классы. В статье показаны результаты бенчмарков для различных вариантов скоупинга. Конкретно сравнение подходов разных фреймворков - в самом конце.
Выводы: Shadow DOM самый быстрый, подход Vue с
#css #benchmark
Vue использует HTML уникальные атрибуты для обозначения скоупа, Svelte - классы. В статье показаны результаты бенчмарков для различных вариантов скоупинга. Конкретно сравнение подходов разных фреймворков - в самом конце.
Выводы: Shadow DOM самый быстрый, подход Vue с
data-v- атрибутом тоже вполне эффективен#css #benchmark
Read the Tea Leaves
Style scoping versus shadow DOM: which is fastest?
Update: this post was updated with some new benchmark numbers in October 2022. Last year, I asked the question: Does shadow DOM improve style performance? I didn’t give a clear answer, so per…
👍8
На прошлой неделе у реактеров знатно подгорело, когда были проведены тесты сравнения скорости разных фреймворков в SSR режиме.
Эван тоже озадачился, что
#ssr #evanyou #benchmark #vuejs #nextjs #reactive
Next.js отстал от чистого React в 15 разЭван тоже озадачился, что
Vue болтается где-то в серединке, и за пару дней нашел проблему с Node.js и подготовил патч, который вывел Vue на первое место.#ssr #evanyou #benchmark #vuejs #nextjs #reactive
🔥22👍3😁3❤1
К Дурову можно по-разному относиться, но людей, у которых руки растут не из жопы, он умеет находить
Chrome DevTools -> Memory -> Total JS heap size
#benchmark #telegram #nuxt
Chrome DevTools -> Memory -> Total JS heap size
#benchmark #telegram #nuxt
Web WhatsApp - 170MB
Slack - 125MB
VK.com - 120MB
Dzen.ru - 70MB
Nuxt.com - 40MB
Google Calendar - 40MB
Google.com (пустой) - 30MB
Web Telegram - 25MB
Vuejs.org, vue-faq.org - 5-10MB
👍25
Недавние тесты производительности
Чудес особых не будет -
Поэтому не пишите большие сложные компоненты. Разбиение помогает оптимизировать рендеринг.
Признак хорошего Vue.js кодинга №4.
#vapor #benchmark
Vapor Чудес особых не будет -
Vue и так быстр. Хотя на больших сложных компонентах преимущество может быть уже ощутимей.Поэтому не пишите большие сложные компоненты. Разбиение помогает оптимизировать рендеринг.
Признак хорошего Vue.js кодинга №4.
#vapor #benchmark
👍5
Заспорил тут в Твиттере с создателем
На аргумент о
В итоге получился вот такой бенчмарк на Stackblitz по замеру времени изменения разных массивов
С одной стороны, ужасно, как
С другой, еще раз стало очевидно, что писать программы на
#optimization #benchmark
FormKit Justin Schroeder, который с чего-то призвал отказаться от использования ref в пользу reactiveНа аргумент о
ShallowRef он привел ShallowReactive, и стало интересно, как сильно они отличаютсяВ итоге получился вот такой бенчмарк на Stackblitz по замеру времени изменения разных массивов
ShallowRef не использует JavaScript Proxy, отсюда такая эффективностьС одной стороны, ужасно, как
Proxy уронил общую производительность в JSС другой, еще раз стало очевидно, что писать программы на
Vue надо с умом. Необходимо полностью контролировать модель и потоки данных. Именно поэтому доверять таким библиотекам, как VueUse и Tanstack, это, как минимум, торговать производительностью и архитектурой.#optimization #benchmark
👍12❤1
Vue унизили...Да еще и где - на
LogRocket. Опять она только для маленьких проектов и не поддерживает TS Правда, когда я запускал их варианты
landing page, у меня Vue был на первом месте и локально в LightHouse, и на PageSpeed.Ну и статичный лэндинг ничего не говорит о том, как все это будет быстро работать с динамическими данными.
#benchmark
LogRocket Blog
Angular vs. React vs. Vue.js: Comparing performance - LogRocket Blog
React, Angular, and Vue.js are open source frontend JavaScript frameworks for building web applications. This guide compares their use cases.
😢6😁2🤬1
Принес новогодние подарки
Cтатистика от w3techs.com. Они используют Chrome User Experience Report, так что данные достаточно объективные
По сравнению с прошлым годом - у
А теперь смотрим на
Элита интырнэта
#benchmark #vue #react #angular #stats
Cтатистика от w3techs.com. Они используют Chrome User Experience Report, так что данные достаточно объективные
По сравнению с прошлым годом - у
Vue явная положительная динамикаА теперь смотрим на
top 1000 (сайтов по посещаемости) и... закуриваем безникотиновую сигаруЭлита интырнэта
#benchmark #vue #react #angular #stats
🔥9
jsbenchmark.com - очень удобный сервис для проведения замеров производительности небольших кусков кода
#benchmark
#benchmark
Jsbenchmark
JS Benchmark
A straightforward online JavaScript benchmarking tool and REPL with support for ES modules and libraries.
👍11