Hacker News new | ask | show | jobs
by the8472 4011 days ago
advanced GCs need more, they need to know your object layout on the stack and on the heap. Otherwise they have to be conservative and have to pin a lot of objects during the moving phase and cannot skip large non-pointer structures, at least if those reside on the same heap.

And once you start pinning objects using bump pointer allocators gets more complicated since you have to maintain holes or free-lists.

I think the next logical step for ruby's GC would be parallelizing it. STW pauses are fairly controlled states that should be amenable to parallelization i.e. suffer far less from potentially racy behavior like mutator threads.