是否有可用于单声道的增量GC我可以使用或获取源代码?

Bry*_*dds 9 .net mono garbage-collection

我正在编写使用功能样式在.NET中构建游戏的工具.为此,我需要一个增量GC,或某种类型的GC,其收集时间约为1 ms左右.我读了一篇关于实时增量GC的文章,它是单声道的WIP,但我无论如何都看不到它的代码或使用它 - http://static.usenix.org/event/vm04/wips /goh.pdf

为了澄清"增量GC"的含义,增量GC将单个垃圾收集周期拆分为多个工作片,可以与程序执行交错,以便可以在相对有限的时间内处理每个片.增量GC功能的主要目的是通过在相对细粒度的级别上始终如一地响应来支持软实时应用程序.增量GC消除了由.NET的代际GC等主流GC引起的"尴尬停顿".许多使用增量GC的系统都有大约1ms的收集暂停.这对于游戏来说是完美的,因为他们需要在16.667ms内完成整个周期..NET世代GC,OTOH,将导致200ms的典型暂停.

我真的很想避免把时间用于编写我自己的单声道增量GC,所以如果有人能告诉我当前有哪些替代(软)实时中心GC可用,那就太棒了.如果我需要编写自己的GC,那么拥有一个开源GC会很好,这可以作为从头开始编写自己的单色GC的人的一个很好的参考.

编辑:添加了对'增量'GC的含义的详细说明.

Ani*_*Ani 5

我不知道Mono是否有增量GC来源 - 但是有一个(针对oCaml派生语言的目标)既是开源的,也似乎专注于高性能的HLVM.作者Jon Harrop 在这里也有一篇博客,上面有许多关于垃圾收集和相关技术的优秀文章.

希望这可以帮助!