Golang: Green Tea GC - новый сборщик мусора в Go 1.25 🫖
Автор: Uproger
Загружено: 2025-10-29
Просмотров: 263
Описание:
🔥 https://t.me/+RAiQoS5k4Bg4NGYy – огромное количество уроков, библиотек и примеров с кодом в канале для Go разработчиков.
📌 https://t.me/addlist/MUtJEeJSxeY2YTFi – тут я собрал гигантскую папку маст-хэв для Golang программистов.
📌 https://t.me/golang_interview - здесь разобрано 1900 вопросов с собеседований GO
В Go 1.25 появился экспериментальный сборщик мусора Green Tea GC, который уже используется внутри Google.
Он снижает время, проводимое в GC, примерно на 10%, а в отдельных сценариях - до 40%.
Активировать можно при сборке флагом:
GOEXPERIMENT=greenteagc
📘 Как это работает:
▪ Классический mark-sweep в Go обходит граф объектов и помечает живые узлы, но делает это неэффективно: память фрагментирована, обращения случайны, кэш часто промахивается.
▪ Green Tea решает проблему, он обрабатывает кучу по компактным блокам (spans), сохраняя пространственную локальность и уменьшая межъядерные переходы.
▪ Это делает GC более предсказуемым и дружелюбным к CPU-кэшу.
💡 Что изменилось внутри рантайма:
Объекты группируются по размеру в страницы (pages) и спаны.
Маркер обходит память блоками, а не «прыгает» по указателям.
Очереди задач GC выстраиваются так, чтобы кэш был «тёплым».
📊 Что показывают тесты:
Большинство программ тратят меньше времени на GC.
В реальных нагрузках - до 40% ускорения.
В некоторых случаях применение почти ничего не дает, поэтому важно тестировать на своих данных.
Green Tea уже признан production-ready, и команда Go планирует сделать его GC по умолчанию в Go 1.26.
В целом, Green Tea GC делает сборку мусора в Go быстрее и стабильнее за счёт лучшей локальности и оптимизации доступа к памяти. Это первый серьёзный шаг к более эффективному, «кэше-дружелюбному» GC в Go.
⚡️ Подробнее - https://go.dev/blog/greenteagc
#golang #голанг
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: