On Saturday, 15 November 2014 at 00:16:22 UTC, deadalnix wrote:
The idea is based on Doligez-Leroy's GC, but using TL heap as the
small object and immutable heap as the shared. Note that this GC
is done for ML, where most things are immutable and this is why
it works well (only require write barriers). This strategy would
be a disaster in java for instance, or for us to use the small
object strategy for TL.
http://gallium.inria.fr/~xleroy/publi/concurrent-gc.pdf
http://www.cs.tau.ac.il/~msagiv/courses/mm/doligez.ppt

Thanks for the link! I agree ML has some interesting work done for it, but they make some assumptions:

1. low portion of mutable objects

2. small heap fits in per-core-cache (<256KiB on Haswell).

So the small heap is basically a region allocator that caches allocations that are likely to die, cutting down on the more costly effort to update the big heap. But I am not sure if that fits system level programming, that is more typical for functional programming…

Reply via email to