Potential GSoC project - GC improvements
Adam Wilson via Digitalmars-d
digitalmars-d at puremagic.com
Sat Mar 12 00:50:06 PST 2016
Jeremy DeHaan wrote:
> Thank you all for the feedback.
>
> I think I might still need a little more feedback as to what the project
> should actually entail, but here's what it's looking like so far:
>
> Implement lock free allocation using std.experimental.allocator's
> freelists (SharedFreeList? It was the only thing in the documentation
> that specifically mentions lock free allocation)
>
> Implement a generational garbage collector
>
> Implement precise garbage collection (possibly piggybacking off of
> Rainer's work)
>
>
> Does anyone think that might be too much to take on or does it sound
> pretty good? I have other garbage collector things I'd like to explore,
> but I they should probably go in the "if time allows" category at this
> point.
>
> Jeremy
If I may make a suggestion. The lock free work is unlikely to require
the entirety of GSoC. And the precise GC is the next most important
thing on your list and will have the biggest impact on GC performance.
Once the GC is fully precise we can implement a fully compacting GC,
which improves the usefulness of generational collection. Additionally,
precision allows a significant amount of work to be done in improving
the performance of the GC in multi-threaded scenarios. It should be
quite possible to avoid needing fork() or anything like it altogether. I
know that the .NET GC doesn't need to use anything like it.
Also, I would strongly recommend getting this book and reading it cover
to cover before starting:
http://www.amazon.com/gp/product/1420082795/ref=pd_lpo_sbs_dp_ss_1?pf_rd_p=1944687562&pf_rd_s=lpo-top-stripe-1&pf_rd_t=201&pf_rd_i=0471941484&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=0QD9X3E5QATSBCBT6BMM
I think Rainer's Precise GC only dealt with Heap objects. What needs
work is Register and Stack scanning. Expanding on Rainer's existing
Precise GC work is the right idea, but Register and Stack scanning is a
very big project in it's own right.I suspect it will take up the
remainder of your GSoC time. :)
--
// Adam Wilson
// quiet.dlang.dev
More information about the Digitalmars-d
mailing list