On Thursday, 24 September 2015 at 00:08:18 UTC, Martin Nowak
wrote:
The key to a low latency/high throughput GC is being able to
incrementally collect the heap. There is a very interesting
paper that uses the type system to perform incremental
collections.
http://forum.dlang.org/post/mcqr3s$cmf$1...@digitalmars.com
I haven't read the paper, but how does this solve collecting
things like strings, or other "leaf types" when you use separate
compilation units?
The easy thing to do is to use GC locally (like for a fiber) and
use move semantics for moving objects from one locality to the
other (between fibers).
This is also compatible with next gen computing where CPUs have
local memory. Incidentally this is also the multithreaded model
used in web browsers...