Go 1.26 ускоряет работу с памятью
В новом релизе Go команда сильно оптимизировала выделение памяти для малых объектов (1–512 байт).
Теперь рантайм использует специализированные версии allocator’а и таблицы переходов — чтобы быстрее подбирать нужную функцию под размер объекта, а не полагаться на одну универсальную реализацию.
Что это даёт- до 30% экономии на выделении маленьких объектов;
- примерно ~1% ускорения в реальных программах, где много аллокаций (что на масштабе — очень ощутимо).
Техническая деталь: компилятор всё ещё вызывает общий mallocgc, но на этапе выполнения он перенаправляется к новым специализированным функциям.
При необходимости поведение можно отключить флагом сборки:
GOEXPERIMENT=nosizespecializedmalloc.
Go продолжает аккуратно выжимать производительность не ломая экосистему - маленькие изменения, большой эффект.
@golang_interview