В видео мы разберем устройство сборщика мусора (GC) в Go от «А» до «Я» — от классических алгоритмов до нового экспериментального GC в версии 1.26, который уже активно внедряет Google.
В этом уроке:
Основы и мотивация: зачем нужен GC, какие боли он снимает (Dangling pointers, Double free) и сколько мы на самом деле платим ресурсами за автоматическое управление памятью.
Подходы к сборке мусора: разница между подсчетом ссылок (Reference Counting) и трейсингом (Tracing), плюсы и минусы каждого метода.
Алгоритм Go под капотом: детальный разбор Concurrent Mark-and-Sweep, стадии Stop the World и как рантайм Go останавливает тысячи горутин для разметки объектов.
Управление памятью: что такое арены, страницы по 8 Кб и классы объектов, и как Go заранее запрашивает память у ОС для ускорения аллокаций.
Настройка и оптимизация: учимся использовать переменные GOGC и GOMEMLIMIT, разбираем кейсы применения sync.Pool для снижения нагрузки на GC.
Новинки Go 1.26: почему новый сборщик мусора быстрее, как работает последовательное сканирование страниц вместо прыжков по памяти и как используются векторные инструкции (AVX-512) для ускорения разметки.
В итоге у тебя будет полное руководство по работе GC: ты поймешь, как писать код, который «дружит» с памятью и кэшем процессора, и научишься диагностировать проблемы производительности с помощью трейсинг-профилировщика