Существует ли инкрементный сборщик мусора для моно, который я могу использовать или получить исходный код?

Я пишу инструменты для создания игр в.NET, используя функциональный стиль. Для этого мне понадобится инкрементный сборщик мусора или какой-либо тип сборщика мусора, время сбора которого ограничено 1 мс или около того. Я читал статью об инкрементном сборщике мусора -в режиме реального времени, который является незавершенным производством для моно, но я не могу найти, где посмотреть его код или использовать его -http://static.usenix.org/event/vm04/wips/goh.pdf

. Чтобы пояснить, что я имею в виду под «инкрементной сборкой мусора», добавочная сборка мусора разбивает отдельный цикл сборки мусора на несколько частей работы, которые можно чередовать с выполнением программы, так что каждая часть может быть обработана за относительно ограниченное время. Основное назначение инкрементного GC — поддержка программных -приложений в реальном -времени, поддерживая их постоянную реакцию на относительно мелком -уровне детализации. Инкрементальные сборщики мусора исключают «неловкую паузу», вызванную массовыми сборщиками мусора, такими как сборщик мусора поколения.NET. Во многих системах, использующих инкрементный сборщик мусора, паузы сбора ограничены примерно 1 мс. Это идеально подходит для игр, так как им нужно выполнить весь цикл за 16,667 мс. Сборщик мусора поколения.NET, OTOH, обычно вызывает паузы в 200 мс.

Я действительно хотел бы не тратить время на написание моего собственного инкрементного сборщика мусора для моно, поэтому, если бы кто-нибудь мог сказать мне, какие альтернативные (мягкие )реальные -сборщики мусора, ориентированные на время, доступны в настоящее время, это было бы здорово. Если мне нужно написать свой собственный сборщик мусора, было бы здорово иметь сборщик мусора с открытым исходным кодом, который послужил бы хорошим справочником для тех, кто пишет свой собственный моно сборщик мусора с нуля.

РЕДАКТИРОВАТЬ :добавлено уточнение того, что подразумевается под «добавочным» сборщиком мусора.

9
задан Bryan Edds 2 August 2012 в 02:40
поделиться