Рубрика «оптимизация» - 4
Монолит с отчётами на 30 секунд: как я переписал архитектуру и что из этого вышло
2026-04-05 в 13:45, admin, рубрики: backend, DDD, django, explain analyze, highload, N+1, postgresql, python, архитектура, оптимизацияПришёл в проект, там легаси погоняет легаси. Спагетти такие что уже в рот лезут. Отчёты по филиалам открывались 30 секунд. Команда реально боялась нажать кнопку в рабочее время, а вдруг база ляжет.
Это была система управления розничной сетью: несколько филиалов, сотни тысяч записей о заказах, ежедневные отчёты по выручке и остаткам. На бумаге ничего страшного. На практике монолит на Django где бизнес-логика размазана по контроллерам так, что поменяй что-то одно и сломается три другого.
Первое что я сделал: открыл EXPLAIN ANALYZE.
Что показал EXPLAIN ANALYZE
Запрос для отчёта по филиалу выглядел примерно так:
Читать полностью »
5 неочевидных возможностей системы защиты от протечки воды и как настроить ее под свои привычки и быт
2026-04-01 в 11:45, admin, рубрики: инженерные системы, оптимизация, протечка, ремонт, умный дом, экономияРынок ремонтных услуг и стройматериалов всегда отличался динамичностью с точки зрения реактивной адаптации к изменениям внешних условий. При этом самое явное и яркое проявление такой адаптации для конечного потребителя – это стремительный рост цен на товары и услуги, что усложняет жизнь как конечному потребителю, так и бизнесу.
CPU 80%. Как найти проблемный запрос в ClickHouse?
2026-03-27 в 13:15, admin, рубрики: clickhouse, data engineering, база дынных, оптимизацияCPU 80%, память на пределе, диск нагружен. Запросы тормозят. Расчёты не завершаются. Сервер на грани. Что же делать?
Расскажу как начинаю диагностику и как найти запрос, который создаёт нагрузку.

Шаг 1. Что висит прямо сейчас
Если нода прямо сейчас перегружена, начинаем с system.processesЧитать полностью »
Как перестать наступать на грабли в Go: набор рабочих рецептов
2026-03-24 в 13:01, admin, рубрики: cheatsheet, Go, ruvds_статьи, горутина, горутины, лайфхаки, оптимизация, рецепты, шпоргалкаВ каждом JPEG зашита модель вашей сетчатки. Буквально
2026-03-24 в 9:17, admin, рубрики: DCT, jpeg, python, Алгоритмы, зрение, обработка изображений, оптимизация, сжатие изображений, цветовые пространстваПосле того как я написал статью про то, что ваш монитор не умеет показывать бирюзовый и 65% видимых цветов для него просто не существуют, один мой знакомый (далекий правда от технической отрасли) спросил: «Окей, монитор врёт, а что тогда делает JPEG с оставшимися 35%?» И это хороший вопрос. Я полез в спеку, а через полчаса забыл, зачем вообще полез. Потому меня уже интересовало другое: ребята, которые в 1992-м финализировали этот стандарт, по сути заревёрсили человеческое зрение и запихнули его в алгоритм сжатия.
Оптимизация сборки Python Docker образа: размер меньше на -43% (-57%)
2026-03-23 в 19:15, admin, рубрики: build, docker, multistage, билда, оптимизация, размер, скоростьВсем привет. Я Backend разработчик, в основном на Python и немного Go. Хотел бы рассказать про свой опыт оптимизации docker образов и написать некий «туториал». Он скорее будет полезен для разработчиков или начинающим DevOps. Для опытных DevOps инженеров, возможно будет мало интересного и полезного
Не претендую на правильность во всем, полноту. Мое основное ремесло – эффективно делать эффективный бекенд. Направление инфраструктуры мне интересно, стараюсь активно изучать и в ходе работы, так или иначе приходилось и приходится с этим работать.
Цели:
Моя любимая функция в ClickHouse, или оптимизируем вообще всё с помощью cityHash64()
2026-03-20 в 9:15, admin, рубрики: cityhash, clickhouse, data engineering, sql, анализ данных, аналитика, оптимизация, хеш, хеш-функции, хешированиеК написанию данной статьи меня подтолкнула другая статья:
«Не только sum() и uniq(): малоизвестные и очень полезные функции ClickHouse»
и вопрос автора: «В комментариях расскажите, какие „непопулярные“ функции кликхаус упростили вам жизнь.»
Недолго думая, я ответил: cityHash64().
Почему Python + Numba обгоняет C? Эксперимент с алгоритмом прогонки
2026-03-19 в 8:15, admin, рубрики: C, numba, numpy, python, Алгоритмы, оптимизация, прогонка, производительность, численные методыВсе знают: если нужно быстро считать – пиши на C. Python – для прототипов, но в продакшене он тормозит. Однако с появлением NumPy и JIT-компиляторов (Numba) границы стираются. Более того, в некоторых случаях Python может даже обогнать наивную реализацию на C.
В этой статье я на примере решения трёхдиагональной системы (алгоритм Томаса) сравниваю:
-
Чистый C (double/float)
-
Векторный NumPy (с циклами на Python)
-
JIT-скомпилированную версию Numba
И не просто сравниваю, а ищу ответ на вопрос: почему Numba иногда быстрее C?
Что такое алгоритм прогонки?
Не биты, а тетраэдры: как я построил геометрический движок состояний и ускорил точную задачу в 555 раз
2026-03-18 в 7:54, admin, рубрики: gpu, алгоритм, аттрактор, геометрия, канонизация, мотив, оптимизация, симметрия, состояние, тетраэдрМы привыкли думать о вычислениях как о битах, регистрах и арифметике. А что, если базовой единицей вычисления сделать не бит, а локальную геометрическую конфигурацию тетраэдров? В этой статье я покажу дискретный тетраэдрический движок состояний, симметрийную канонизацию, аттракторы, иерархические jump-таблицы и реальные замеры на RTX 3090 — с измеренным exact-ускорением в 554.92 раза на одной и той же задаче.
1. Зачем вообще считать не битами, а тетраэдрами
Обычная вычислительная логика устроена очень просто: есть биты 0/1, есть операции над ними, есть длинные цепочки преобразований.

