Green Tea GC: что на самом деле поменялось в сборщике мусора Go 1.26
Конспект редакции
Узнайте, почему хваленые 40% ускорения Green Tea GC на самом деле относятся к латентности, а не к пропускной способности, и стоит ли вам обновляться.
В статье разбирается, что на самом деле представляет собой новый сборщик мусора Green Tea GC, появившийся в Go 1.26. Популярное утверждение о приросте производительности на 40% — не совсем корректно: эти проценты относятся не к общей скорости работы программы, а к снижению задержек (latency) при сборке мусора в определённых сценариях. Автор объясняет, что классический GC Go (Madvise) и Green Tea отличаются стратегией освобождения памяти: новый подход использует более агрессивную очистку, что уменьшает паузы, но может увеличить нагрузку на процессор в бенчмарках.
На практике выигрыш заметен только в сильно нагруженных concurrent-приложениях с высоким давлением на кучу. Для типичных сервисов с умеренным потреблением памяти разница будет незначительной. Статья предлагает взглянуть на архитектурные изменения в GC — замену алгоритма пометки и переработку взаимодействия с ОС, — а также предупреждает, что гоняться за абстрактными «40%» без понимания своего профиля нагрузки бессмысленно. Подробные бенчмарки и примеры конфигураций — на сайте источника.
Материал агрегирован; полный текст — на сайте Хабр — ИТ-новости.





