Green Tea GC в Go 1.25: новая жизнь старого мусора

Вопросы языкознания

Бэкенд
Прочие языки
Бэкенд / другое
GO
Оптимизация

Программный комитет ещё не принял решения по этому докладу

Целевая аудитория

Опытные Go-разработчики

Тезисы

Обычно мы не думаем о сборщике мусора – он работает где-то в фоне, и этого вроде бы достаточно. Но по мере роста нагрузки, объёма данных и количества ядер в системе, даже такая "мелочь" может внезапно начать сдерживать производительность.

В Go 1.25 появился экспериментальный Green Tea GC – попытка по-новому взглянуть на то, как эффективно управлять памятью в современных системах.

В этом докладе разберёмся, почему классический GC начал "буксовать", как Green Tea меняет подход к сканированию памяти, причём здесь кэш-локальность и как всё это отражается на реальной работе приложений.

Посмотрим на исходники, бенчмарки, включим экспериментальный флаг и обсудим, когда эта штука действительно помогает, а когда – нет.

Даже если вы не пишете свой runtime, понимать что происходит под капотом все равно полезно. Потому что иногда именно там прячутся лишние 30% CPU.

В Ви.Tech помогает поддерживать стабильную работу платформы с нагрузкой более 100 тыс. заказов в день.

Видео