Рубрика «optimization» - 2
Zod v4: Стал в 17 раз медленнее? (и почему это важно)
2025-05-07 в 6:16, admin, рубрики: optimization, performance, TypeScript, validation, zodВсем привет! 👋
Я — Дмитрий, автор Sury — самой быстрой библиотеки для работы со схемами. Если вы фанат Zod (а кто не фанат?), эта статья для вас. Сегодня я поделюсь неожиданными результатами тестов производительности Zod v4, расскажу, что это значит для вас, и как избежать подводных камней.
Zod v4: Стал в 17 раз медленнееб и никто этого не заметил 🙈
Начнём с небольшого кликбейта)
Это действительно так, но, конечно, не вся правда. Давайте разберёмся.
Недавно, готовясь к большому релизу Читать полностью »
Zero-cost Property в С++
2024-10-02 в 19:11, admin, рубрики: c++, c++11, code, example, examples, optimization, properties, property, syntax sugar, tricksРасскажу об одном решении которое имеет больше смысла в качестве упражнения а не практической пользы. Постановка задачи звучит так: Хочу получить в C++ семантику property как в C# и без накладных расходов.
В начале будет результат к которому я пришел, затем пояснения и выводы.
К слову, компиляторы Microsoft имеют способ описать property но это не является частью стандарта C++.
Сразу отмечу что property получились с значительными ограничениями и больше подходят для имитации SwizzlingЧитать полностью »
Поделить нельзя — умножить или алгоритм быстрого деления по методу Ньютона-Рафсона
2024-09-04 в 13:01, admin, рубрики: algorithms, c++, division, optimization, ruvds_статьи
Все мы в школе проходили деление «столбиком» — простой алгоритм, который несложно реализовать, вот только не очень быстрый. В прошлый раз мы рассматривали, как компилятор оптимизирует деление в случаях, когда делитель известен во время компиляции, но применение его напрямую, чтоб оптимизировать деление для делителей, определямых в run-time, невозможно: вычисление констант сдвига и умножения само по себе требует деления.
В этот раз хочется поговорить о другом методе, сводящем деление к умножениям и битовым сдвигам, основанном на методе поиска корней функции.
Читать полностью »
Как поделить не деля или оптимизация деления компиляторам(и)
2024-08-02 в 16:13, admin, рубрики: compilers, division, optimisation, optimization
Если вы никогда не пробовали смотреть как код на C++ разворачивается компилятором в код Assembly – вас ждёт много сюрпризов, причём, не нужно смотреть какой-то замудренный исходный код полный templates или других сложных конструкций: рассмотрите следующий snippet:
uint8_t div10(uint8_t x)
{
return x/10;
}
Сказка про Branch prediction
2023-06-13 в 5:01, admin, рубрики: .net, .net core, C#, c#.net, optimization, performance, performance optimization, Блог компании Контур, высокая производительность, ПрограммированиеВ предыдущих сериях
Микрооптимизации:
-
Сказка про Method as Parameter #dotnet #methods #gc
-
Инструменты анализа эффективности работы приложения. PerfView #performance_analysis #trace #perfview
-
Пародия на замыкания #dotnet #methods #gc
-
yield return #dotnet #il-code
Про тредпул:
-
ThreadPool.Intro #dotnet #threadpool
Reciprocal throughput
2023-05-30 в 6:11, admin, рубрики: .net, C#, c#.net, optimization, performance, performance optimization, Блог компании Контур, высокая производительность, ПрограммированиеВ предыдущих сериях
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
Webpack. Создание WebP вместе с Jpeg и Png
2023-05-07 в 17:38, admin, рубрики: css, html, html-верстка, jpeg, optimization, PNG, WebP, webpack, Клиентская оптимизация, плагины, сборщик пакетов, сжатие данных, системы сборкиКак вы знаете, формат изображений WebP в большинстве случаев имеет меньший вес, по сравнению со своими братьями: png и jpeg. Поэтому использовать его в своих приложениях - это хорошая практика.
А как же пользователи, устройства которых не поддерживают данный формат?
В этом случае нам помогает тег <picture> или значение image-set свойства background-image. Просто пишем такие магические конструкции и браузер сам выберет тот источник, который понимает:
<!-- for HTML... -->
<picture>
<source type="image/webp" srcset="images/cat.webp">
<img src="images/cat.jpg" width="100" height="100" alt="Cat">
</picture>
Читать полностью »
Сказка про Method as Parameter
2023-03-13 в 6:11, admin, рубрики: .net, C#, dotnet core, garbage collector, method, optimization, Блог компании КонтурПривет. Меня зовут Саша Денисов, я инженер в Контуре.
Я веду блог во внутренних ресурсах компании и хочу поделиться им с вами. Это серия преимущественно развлекательных статей на инженерные темы, которые не претендуют на научность и полноту знаний в них. Каждая следующая статья зарождается в моменте, когда при решении очередной рабочей задачи в Контуре я (или мои близкие коллеги) сталкиваюсь с чем-то, что вдохновляет меня.
Использование slots | Python
2022-09-03 в 13:34, admin, рубрики: optimization, python, slots, Серверная оптимизацияДля начала небольшой дисклеймер.
Эта статья вдохновлена моим обучением. Когда я только начинал свой Python-way, на одном из форумов увидел новое для себя понятие - слоты. Но сколько я не искал, в сети было крайне мало статей на эту тему, поэтому понять и осознать слоты было достаточно сложно. Данная статья призвана помочь начинающим в этой теме, но даже опытные разработчики, уверен, найдут здесь нечто новое.
Когда мы создаем объекты для классов, требуется память, а атрибут хранится в виде словаря (в dict). В случае, если нам нужно выделить тысячи объектов, это займет достаточно много места в памяти.

