Go использует конкурентный mark-and-sweep GC: отмечает достижимые объекты и освобождает недостижимые. Сборка требует CPU и кратких остановок приложения.
Как работает сборщик мусора в Go, и каковы его последствия для производительности приложения?
Go использует конкурентный mark-and-sweep GC: отмечает достижимые объекты и освобождает недостижимые. Сборка требует CPU и кратких остановок приложения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Go использует конкурентный mark-and-sweep GC: отмечает достижимые объекты и освобождает недостижимые. Сборка требует CPU и кратких остановок приложения.
Частые аллокации и большой граф указателей увеличивают работу GC; возможны assists, когда часть работы выполняет приложение. Оценивайте allocation rate, объём живых данных и паузы. Сокращение ненужных выделений обычно полезнее случайной настройки GOGC без измерений.
Источник: go.dev.