
Технологический стек:
-
Magento 2.4.4
-
MariaDB
-
Redis
-
Varnish
-
OpenSearch
Размер проекта:
-
~1,000,000 товаров
-
~3,000 категорий
-
~10,000,000 CMS страниц
Проблема:

Технологический стек:
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. Уменьшение размера бандла
Оптимизация импорта:
Микрооптимизации:
Сказка про Method as Parameter #dotnet #methods #gc
Инструменты анализа эффективности работы приложения. PerfView #performance_analysis #trace #perfview
Пародия на замыкания #dotnet #methods #gc
yield return #dotnet #il-code
Про тредпул:
ThreadPool.Intro #dotnet #threadpool
ThreadPool. async/await #dotnet #threadpool #il_code
yield return #dotnet #il-code
Пародия на замыкания #dotnet #methods #gc
ThreadPool.Intro #dotnet #threadpool
Инструменты анализа эффективности работы приложения. PerfView #performance_analysis #trace #perfview
Сказка про Method as Parameter #dotnet #methods #gc
Пародия на замыкания #dotnet #methods #gc
ThreadPool.Intro #dotnet #threadpool
Инструменты анализа эффективности работы приложения. PerfView #performance_analysis #trace #perfview
Сказка про Method as Parameter #dotnet #methods #gc
Сказка про Guid.NewGuid() #os_specific #dotnet #microoptimization
А вы никогда не задумывались, что yield returnЧитать полностью »

Исторически так сложилось, что LINQ взыскал сомнительную репутацию за его слабую производительность. LINQ медленный, аллоцирует память, сложно читается, поэтому обычно его используют как инструмент запросов к БД и то, зачастую сложные запросы легче написать на SQL. Даже на собеседованиях джунов просят не использовать LINQ в алгоритмах.
Вы когда-нибудь задумывались над тем, как компилятор понимает, какую функцию и откуда вызвать? Постараемся разобраться.
Method Dispatch - это алгоритм, который решает, какой метод должен вызываться в ответ на сообщение. Его цель заключается в том, чтобы проинформировать процессор о том, где он может найти код для вызова метода в памяти.
Swift имеет три типа method dispatch:
Static Dispatch
Table Dispatch
Message Dispatch
В чем отличие разных типов диспетчеризации?
Познакомился я с этой темой на одном из собеседований, когда мне задали вопрос о том, что есть какая-то большая структура и сколько памяти будет занято, если переменную с экземпляром этой структуры присвоить другой переменной. Тогда, вспоминая о том, что происходит при взятие подстроки, я ответил, что объем памяти не изменится и ошибся. Ну и уже после собеседования полез читать о copy-on-write (далее COW).