Команда разработчиков Go улучшила производительность языка, перенеся больше операций выделения памяти из кучи в стек, что снижает нагрузку на сборщик мусора и ускоряет выполнение.
Автор на примере динамического расширения среза демонстрирует эволюцию этих оптимизаций: в версии Go 1.25 компилятор научился выделять в стеке память для срезов известного размера, а в Go 1.26 оптимизация была расширена на случаи, когда срез создается и расширяется с помощью append, и даже когда срез должен быть возвращен из функции (путем автоматического копирования его в кучу в последний момент)
13.03.2026
Похожее
17.04.2026
Черный ящик
Вдохновившись механизмом trace.FlightRecorder, появившимся в Go 1.25, автор реши...
16.04.2026
Версионирование
В статье автор делится опытом разбора инцидента, где отсутствие информации о вер...
15.04.2026
Константные мапы
В Go существует стандартная карта, которая для миллиона записей потребляет около...
14.04.2026
Вызываем Rust из Go
В принципе, нет никаких сложностей работать с Rust через cgo. Но автор решил зам...