Что такое write barrier в Go GC?

Senior
61 просмотров
AFK Offer AI

Write barrier — код вставляемый компилятором при каждой записи указателя в heap. Он уведомляет GC об изменении графа объектов во время concurrent mark фазы. Без write barrier GC мог бы пропустить живой объект. В Go используется hybrid write barrier (Dijkstra + Yuasa) с Go 1.8. Стоимость: ~10-20% overhead на запись указателей.

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

Что такое custom scanner?