【发布时间】:2015-05-02 01:53:32
【问题描述】:
MRI 2.2 自 2.1 以来对 GC 进行了一些重大改进,即增量 GC,现在它可以垃圾收集符号。
一个人通过升级 MRI 修复了他的内存泄漏,请参阅 this blog post
我们不久前切换到 Rubinius,其中一个原因是我们认为它具有出色的垃圾收集能力。
Rubinius 似乎不会垃圾收集符号,请参阅此issue。情况仍然如此吗? GC-ing 符号是一个很大的改进吗?
我在 rubinius 中阅读了有关 concurrent GC 的信息,它似乎解决了与 MRI 的增量 GC 相同的问题,即消除了较长的 GC 暂停时间。我也在 rubinius 中看到了this description of generational GC。但是,我不知道如何将 MRI GC 与 RBX GC 比较。
那么有谁知道哪个更好?
【问题讨论】:
-
您必须考虑到 MRI 是单线程的,而 rubinius 是多线程的。这会影响每单位 walltime 可以分配多少对象,从而影响收集器必须做的工作量。
-
那么 Rubinius 分配的每单位 walltime 的对象是少是多? Rubinius 收藏家还需要做更多的工作?
标签: ruby garbage-collection rubinius