标签: garbage-collection d
page on the garbage collector未指定D是使用增量垃圾收集器还是使用stop-the-world版本。它确实提到暂停几次,这可能暗示了一个世界上的垃圾收集器,但我不确定。
如果它不使用增量垃圾收集器,是否有任何特殊原因?一个停止世界的GC给交互式应用程序带来了困难。
答案 0 :(得分:13)
当前的实现(Druntime)使用 stop-the-world垃圾收集器,但语言本身并未对实现的细节施加许多限制。
对于类似* nix的操作系统(它使用分叉),D,CDGC有一个并发垃圾收集器。
由于需要写入障碍,增量GC很难在编译环境中使用。虚拟机可以跟踪引用,但系统语言可以调用memcpy和类似的功能,但不能。
memcpy