Рубрика «оптимизация кода»
Софт может деградировать бесконечно
2026-09-11 в 13:02, admin, рубрики: ruvds_перевод, качество кода, легаси-системы, менеджмент, оптимизация кода, управление проектами, управление разработкойОпухший C++ код
2026-08-19 в 17:20, admin, рубрики: c++, copy-paste, genai, генеративный ии, избыточность, обзор кода, оптимизация кода, открытый исходный код, рефакторингЕсть такая старая программистская байка, что нельзя платить программистам за строки кода, так как тогда они будут писать длинный бестолковый код и любить метод copy-paste. Будущее наступило. Только теперь этими “программистами” является генеративный ИИ (GenAI), которому как раз платят за строки кода. Иронично.
Оптимизация next.js monorepo приложения
2026-07-03 в 14:16, admin, рубрики: ci, CICD, оптимизация, оптимизация кода, оптимизация сайта, ускорение загрузки, ускорение разработки, ускорение сайта, ускорение сайтов, ускорение страницДисклеймер: Данный кейс основан на архитектуре нашего проекта (~2600 файлов). В проектах другого масштаба или с другой структурой зависимости результаты могут отличаться. Это не «серебряная пуля», а мой личный опыт оптимизации конкретной инфраструктуры.
Буду краток, на проекте, где я сейчас работаю, мы с командой заметили огромную проблему со скоростью сборки и весом проекта после билда. Стек у нас React, Next.js, FSD Monorepo.
Изначальный набор инструментов был такой:
|
Билд |
Turbopack |
|
Линтинг |
Eslint |
Раньше ПО работало шустро, потому что иначе было никак
2026-06-28 в 9:01, admin, рубрики: ruvds_перевод, оптимизация кода, Программирование, проектирование систем, управление разработкой
Несколько недель назад мы обсуждали Java-компонент, запускающий кластер Spark. Его основная задача — координация. Он поднимает всю необходимую инфраструктуру, прокидывает конфигурацию, дожидается нужных сигналов и отходит на второй план.
Пишу алгоритм FFT на Си для процессора Эльбрус
2026-06-12 в 16:41, admin, рубрики: E2K, fft, simd, VLIW, ассемблер, интринсики, оптимизация кода, Си, ЭльбрусПримерно полгода назад я познакомился с VLIW‑процессором Эльбрус-8СВ. На тот момент у меня уже был опыт написания кода на ассемблере для VLIW‑процессора TMS320C66. Поэтому я захотел написать нечто похожее для Эльбруса. А именно, реализовать алгоритм FFT на ассемблере. Но из‑за нехватки документации на инструкции процессора мне пришлось начать с реализации какого‑нибудь простого алгоритма на Си, чтобы изучать его ассемблерный вывод. По результатам той деятельности была написана предыдущая статья.
В С неопределённое поведение повсюду
2026-05-24 в 9:01, admin, рубрики: ruvds_перевод, undefined behavior, Компиляторы, неопределённое поведение, оптимизация кода, Программирование, С++, Си
Если бы Кардинал Ришелье был программистом, он бы сказал: «Дайте мне шесть строк кода, написанных рукой самого профессионального C-программиста в мире, и я найду в них лазейку для вызова неопределённого поведения.
C++: Как мы докатились до Hello World в 2 МБ
2026-05-08 в 20:17, admin, рубрики: c++, gcc, Деконструкция, низкоуровневое программирование, оптимизация кода, оптимизация программ, примеры кода, сравнение версий, сравнение компиляторовЧто не так с Hello World?
Казалось бы, современный С++ дает столько возможностей… Давайте попробуем начать постигать всю эту необъятную мощь с написания Hello World:
#include <iostream>
int main(){ std::cout << "Hello World" << std::endl; }
Какой там сейчас последний компилятор… Давайте возьмем какой-нибудь GCC 15.2.0, запускаем компиляцию g++ -static -O2 hello.cpp -o hello.exe и… получили 2,30 МБ.
Что же пошло не так? Почему для отображения 11 символов понадобилось раздуть бинарник до >2МБ? Давайте разбираться.
Флаги компилятора?
Процессор в вашем компьютере угадывает будущее. И ошибается в 5% случаев
2026-03-22 в 10:14, admin, рубрики: branch prediction, cpu, spectre, Алгоритмы, архитектура процессоров, конвейер, оптимизация кода, предсказание ветвлений, производительностьВ прошлую пятницу я объяснял джуну, почему его код на отсортированном массиве работает в шесть раз быстрее, чем на неотсортированном. Тот же массив, тот же алгоритм, и те же данные. Просто в другом порядке. Джун смотрел на меня как на сумасшедшего и, честно говоря, я его понимаю.
Потому что ответ звучит безумно: процессор внутри вашего ноутбука постоянно пытается предсказать будущее. Буквально. Он гадает, какая ветка if выполнится ещё до того, как условие будет вычислено. И на отсортированных данных ему угадывать проще.
Ну, давайте разбираться.
Конвейер, или почему процессору вообще нужно гадать
Почему программисты стали писать медленный код и это почти никого не волнует
2026-03-21 в 8:46, admin, рубрики: CPU performance, архитектура процессора, кэш процессора, оптимизация кода, производительность программИногда возникает странное ощущение: железо стало безумно быстрым, процессоры научились выполнять миллиарды операций в секунду, памяти стало больше, чем раньше было дискового пространства. Но почему-то программы всё равно тормозят. Открываешь простой веб-интерфейс — и ноутбук начинает шуметь вентиляторами. Запускаешь приложение для заметок — и оно ест полгигабайта RAM. Я долго думал, откуда это ощущение. Потом начал копаться: читать дизассемблер, смотреть профилировщики, запускать микробенчмарки. И постепенно стало понятно, что дело не в железе. Дело в том, как мы пишем код.
Умножение матриц: пример использования расширения ARM SME2 в Apple M4 Pro
2026-03-20 в 6:28, admin, рубрики: Apple M, ARM SME, gemm, векторные инструкции, векторные исчисления, высокопроизводительные вычисления, вычислительные методы, линейная алгебра, оптимизация кода, умножение матриц

