On heap segregation, GC optimization and @nogc relaxing

via Digitalmars-d digitalmars-d at puremagic.com
Sat Nov 15 04:52:31 PST 2014


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…



More information about the Digitalmars-d mailing list