Подтвердить что ты не робот

Использует ли язык программирования D инкрементный сборщик мусора?

Страница в сборщике мусора не указывает, использует ли D инкрементный сборщик мусора или стоп-мир. Он упоминает паузу несколько раз, что может быть намеком на сборщика мусора, но я не уверен.

Если он не использует инкрементный сборщик мусора, есть ли какие-то особые причины для этого? Протокол Stop-the-world GC затрудняет интерактивные приложения.

4b9b3361

Ответ 1

Текущие реализации (Druntime) используют сборщик мусора stop-the-world, но язык сам по себе не накладывает много ограничений на детали реализации.

Существует параллельный сборщик мусора для D, CDGC, для * nix-подобных ОС (он использует forking).

Инкрементальные GC трудно использовать в компилируемой среде из-за необходимости писать барьеры. VM могут отслеживать ссылки, однако системные языки, которые могут вызывать memcpy и подобные функции, не могут.