Как работает garbage collector в Go?

Middle+
1.3k просмотров
AFK Offer AI

GC в Go — concurrent, tri-color mark-and-sweep. Три цвета: белый (не посещён, кандидат на удаление), серый (посещён, но дочерние не проверены), чёрный (посещён, дочерние проверены). GC работает параллельно с приложением, останавливая мир (STW) только на короткие фазы — обычно доли миллисекунды. С Go 1.5+ паузы стали предсказуемо малыми. Можно тюнить через GOGC (по умолчанию 100 — GC запускается когда heap удваивается) и с Go 1.19 через GOMEMLIMIT для ограничения памяти.

Следующий вопрос

Что такое clean architecture?