D编程语言是否使用增量垃圾收集器?

时间:2012-03-26 14:03:11

标签: garbage-collection d

page on the garbage collector未指定D是使用增量垃圾收集器还是使用stop-the-world版本。它确实提到暂停几次,这可能暗示了一个世界上的垃圾收集器,但我不确定。

如果它不使用增量垃圾收集器,是否有任何特殊原因?一个停止世界的GC给交互式应用程序带来了困难。

1 个答案:

答案 0 :(得分:13)

当前的实现(Druntime)使用 stop-the-world垃圾收集器,但语言本身并未对实现的细节施加许多限制。

对于类似* nix的操作系统(它使用分叉),D,CDGC有一个并发垃圾收集器。

由于需要写入障碍,增量GC很难在编译环境中使用。虚拟机可以跟踪引用,但系统语言可以调用memcpy和类似的功能,但不能。