Last update November 12, 2009

GCW



NOTE:
The workgroup has probably disbanded. Anyone researching improvements is free to use this page to organize their thoughts. And D is getting a partially precise GC.

Garbage Collection Workgroup. The task of this workgroup is to get the best possible GC memory managment for the D programming language. According to Walter Bright the current GC is not yet optimized. Anyone can take part in this workgroup: put yourself in the list and contribute thoughts, tasks or solutions.

Possible goals for the start (please extend list):

  • analyze, understand and document the current collector
  • make the collector plugable (document the necessary steps to replace it)
  • build a GC testsuite for verification, benchmarking and language comparisons
  • building, testing and suggesting alternative collectors
  • ...
Comments by Walter:

The hardest part of a gc is making sure it works. I.e. the test suite for it
is the most important piece. Subtle bugs in the gc can have a disastrous
effect on D programs, making for very hard to pin down bugs. The
\dmd\src\phobos\gc2\testgc.d is a good starting point.

I also suggest the "Garbage Collection" book on
www.digitalmars.com/bibliography.html. It covers all the main algorithms,
their variants, and strengths and weaknesses. It's essential reading, if you
don't want to reinvent the wheel <g>.

What I see as ideal for D is a two-generation, partially copying collector,
with write barriers on the old generation done in hardware with the paging
system.

Sources of information:


FrontPage | News | TestPage | MessageBoard | Search | Contributors | Folders | Index | Help | Preferences | Edit

Edit text of this page (date of last change: November 12, 2009 7:02 (diff))