Рубрика «performance optimization»

Каждый лишний рендер — удар по перформансу. В React с его культом иммутабельности (который тянется с 2013 года) эта проблема знакома каждому, кто пристально наблюдал за тем, как ведут себя перф и метрики.

Теория

Путь от костылей к микрозадачам

Под капотом React при каждом изменении стейта строит свежий Virtual DOM для компонента и всех его «детей», а потом запускает диффинг со старым деревом. Процесс не бесплатный — готовьтесь греть CPU и забивать Main Thread пользователя.

Читать полностью »

Как я спасал Magento 2 с 1 млн товаров и 10 млн CMS страниц от 504 ошибок - 1

Технологический стек:

  • Magento 2.4.4

  • MariaDB

  • Redis

  • Varnish

  • OpenSearch

Размер проекта:

  • ~1,000,000 товаров

  • ~3,000 категорий

  • ~10,000,000 CMS страниц

Проблема:

О чём это я

Этот проект является реальным случаем из моей работы и посвящён последствиям небрежного написания простого маппера в рамках исправления одного эндпойнта (конечной точки / «ручки») в Web Rest API сервисе в рамках проекта по рефакторингу и переезду с собственных серверов в большие облака.

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

Как все начиналось

Читать полностью »

1. Введение

Vue.js — один из самых популярных фреймворков для создания пользовательских интерфейсов. Однако, как и в любом крупном веб-приложении, при увеличении количества компонентов и данных, производительность может снижаться. Оптимизация производительности — важный аспект, который влияет на пользовательский опыт и SEO-оценки. В этом руководстве мы рассмотрим практические подходы и техники, которые помогут вам улучшить производительность Vue.js приложений.

2. Уменьшение размера бандла

Оптимизация импорта:

В предыдущих сериях

Микрооптимизации:

  1. Сказка про Method as Parameter #dotnet #methods #gc

  2. Инструменты анализа эффективности работы приложения. PerfView #performance_analysis #trace #perfview

  3. Пародия на замыкания #dotnet #methods #gc

  4. yield return #dotnet #il-code

Про тредпул:

  1. ThreadPool.Intro #dotnet #threadpool

  2. ThreadPool. async/awaitЧитать полностью »

В предыдущих сериях
В предыдущих сериях

А вы никогда не задумывались, что yield returnЧитать полностью »

Сумачечая производительность LINQ в .Net7 - 1

Исторически так сложилось, что LINQ взыскал сомнительную репутацию за его слабую производительность. LINQ медленный, аллоцирует память, сложно читается, поэтому обычно его используют как инструмент запросов к БД и то, зачастую сложные запросы легче написать на SQL. Даже на собеседованиях джунов просят не использовать LINQ в алгоритмах.

Читать полностью »

Вы когда-нибудь задумывались над тем, как компилятор понимает, какую функцию и откуда вызвать? Постараемся разобраться.

Что такое Method Dispatch?

Method Dispatch - это алгоритм, который решает, какой метод должен вызываться в ответ на сообщение. Его цель заключается в том, чтобы проинформировать процессор о том, где он может найти код для вызова метода в памяти.

Swift имеет три типа method dispatch:

  1. Static Dispatch

  2. Table Dispatch

  3. Message Dispatch

В чем отличие разных типов диспетчеризации?

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js