Go - это язык со сборкой мусора:
http://golang.org/doc/go_faq.html#garbage_collection
Здесь написано, что это сборщик мусора, но он не вникает в детали, и его замена находится в разработке ... однако этот абзац, похоже, не сильно обновлялся с момента выпуска Go.
Это все еще метка? Это консервативно или точно? Это поколенческое?
garbage-collection
go
user1003432
источник
источник
Ответы:
Планы на сборщик мусора Go 1.4+:
Обновления сборщика мусора Go 1.3 поверх Go 1.1:
Сборщик мусора Go 1.1:
Сборщик мусора Go 1.0:
Замена сборщика мусора на другой вызывает споры, например:
источник
(Для Go 1.8 - первый квартал 2017 года см. Ниже )
Следующий параллельный сборщик мусора в Go 1.5 включает в себя возможность «ускорять», - сказал gc.
Вот предложение, представленное в этой статье, которое может быть использовано для Go 1.5, но также помогает понять gc в Go.
Вы можете увидеть состояние до 1.5 (Stop The World: STW)
(Фотография с презентации GopherCon 2015 « Go GC: решение проблемы задержки в Go 1.5 »)
Единственной ручкой настройки для коллектора STW была «GOGC», относительный рост кучи между коллекциями. Параметр по умолчанию, 100%, запускал сборку мусора каждый раз, когда размер кучи удваивался по сравнению с размером активной кучи, как при предыдущей сборке:
Время ГХ в коллекторе STW.
(Фотография с презентации GopherCon 2015 « Go GC: решение проблемы задержки в Go 1.5 »)
источник
Это реализация GC:
https://github.com/golang/go/blob/master/src/runtime/mgc.go
Из документов в источнике:
источник
Go 1.8 GC может снова развиваться с предложением «Устранить повторное сканирование стека STW»
Объявление здесь и вы можете увидеть Актуальные совершить это d70b0fe и раньше.
источник
Я не уверен, но я думаю, что текущий (подсказка) GC уже является параллельным или, по крайней мере, это WIP. Таким образом, свойство stop-the-world больше не применяется или не будет применяться в ближайшем будущем. Возможно, кто-то другой сможет прояснить это более подробно.
источник