# Serve as a benchmarking base (to see how better is an implementation compared to the dumbest and simplest implementation ever =)\r
\r
There is a lot of literature on GC algorithms, but there is almost no literature of the particularities on implementing a GC in D (how to handle the stack, how finalize an object, etc.). The idea of this GC implementation is to tackle this. The collection and allocation algorithms are really simple so you can pay attention to the other stuff."
-47,New,D Garbage Collector Research,Task,Low,See if getting rid of the commit()/decommit() stuff improves Linux performance,Leandro Lucarella,"","",Leandro Lucarella,05/23/2009,"",0,"",04/10/2009 02:35 am,04/10/2009 02:35 am,Minor,"See ""Understanding the current GC, part III"":http://proj.llucax.com.ar/blog/dgc/blog/post/-243ec069 for details."
+47,New,D Garbage Collector Research,Task,Low,See if getting rid of the commit()/decommit() stuff improves Linux performance,Leandro Lucarella,"","",Leandro Lucarella,05/23/2009,"",0,"",04/10/2009 02:35 am,04/10/2009 02:35 am,Minor,"See ""Understanding the current GC, part III"":https://proj.llucax.com.ar/blog/dgc/blog/post/-243ec069 for details."
46,New,D Garbage Collector Research,Task,Normal,Rewrite the current GC implementation,Leandro Lucarella,"","",Leandro Lucarella,05/09/2009,"",0,"",04/09/2009 09:43 pm,04/09/2009 09:43 pm,Minor,The current GC implementation is much more complex than it should be. A complete rewrite maintaining all the current design should not be too hard to do.
45,New,D Garbage Collector Research,Task,High,Review the cloning and very concurrent GC papers,Leandro Lucarella,"","",Leandro Lucarella,04/11/2009,04/12/2009,0,4.0,04/05/2009 03:24 am,04/09/2009 09:57 pm,Major,"I have already read the papers ""Nonintrusive Cloning Garbage Collector with Stock Operating System Support"":http://www.cs.purdue.edu/homes/grr/snapshot-gc.ps and ""Very Concurrent Mark-&-Sweep Garbage Collection without Fine-Grain Synchronization"":http://doc.cat-v.org/inferno/concurrent_gc/.\r
\r
A combination of this 2 papers is what I'm most interested in implement so far, I have to write a better plan and description about what I want to do."
-44,New,D Garbage Collector Research,Task,Low,See how hard could it be to implement a precise GC in LDC,Leandro Lucarella,"","",Leandro Lucarella,05/09/2009,"",0,"",04/05/2009 03:18 am,04/05/2009 03:58 am,Major,"A simple approximation to a precise GC is explained in the paper ""Accurate Garbage Collection in an Uncooperative Environment"":http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.5570 (see the ""blog post"":http://proj.llucax.com.ar/blog/dgc/blog/post/-1ac779b for more info).\r
+44,New,D Garbage Collector Research,Task,Low,See how hard could it be to implement a precise GC in LDC,Leandro Lucarella,"","",Leandro Lucarella,05/09/2009,"",0,"",04/05/2009 03:18 am,04/05/2009 03:58 am,Major,"A simple approximation to a precise GC is explained in the paper ""Accurate Garbage Collection in an Uncooperative Environment"":https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.5570 (see the ""blog post"":http://proj.llucax.com.ar/blog/dgc/blog/post/-1ac779b for more info).\r
\r
Another simple approach is to use a _pinning flag_ to mark objects that can be moved (this should happen when a pointer to the object is stored in the stack, registers or any other memory that don't have type information available, or ambiguous, like unions). Heap objects should have type information available.\r
\r
43,New,D Garbage Collector Research,Task,Low,See how hard could be to implement read/write barriers in LDC,Leandro Lucarella,"","",Leandro Lucarella,05/09/2009,"",0,"",04/05/2009 03:06 am,04/05/2009 03:58 am,Major,"Having read/write barriers as part of the runtime can be very useful for, for example, gather statistics on how frequent are pointers updates to analyze how bad it could be for a reference counting or incremental/generational collectors (and to actually implement them).\r
\r
Some information is available in this ""LDC mailing list thread"":http://groups.google.com/group/ldc-dev/browse_thread/thread/ad305b6ad8e7f443."
-42,New,D Garbage Collector Research,Task,Normal,Optimize the current GC implementation,Leandro Lucarella,"","",Leandro Lucarella,05/09/2009,"",0,"",04/05/2009 02:58 am,04/11/2009 01:38 pm,Major,"There should be some optimization opportunities in the current GC implementations, as shown in this ""blog post"":http://proj.llucax.com.ar/blog/dgc/blog/post/7bdad55d.\r
+42,New,D Garbage Collector Research,Task,Normal,Optimize the current GC implementation,Leandro Lucarella,"","",Leandro Lucarella,05/09/2009,"",0,"",04/05/2009 02:58 am,04/11/2009 01:38 pm,Major,"There should be some optimization opportunities in the current GC implementations, as shown in this ""blog post"":https://proj.llucax.com.ar/blog/dgc/blog/post/7bdad55d.\r
\r
Profiling the GC can be a good start point for looking at optimization opportunities."
-41,Done,D Garbage Collector Research,Task,Immediate,Finish the current GC implementation analysis,Leandro Lucarella,"","",Leandro Lucarella,04/05/2009,04/10/2009,100,18.0,04/05/2009 02:55 am,04/11/2009 01:51 am,Major,"The blog post ""Understanding the current GC"":http://proj.llucax.com.ar/blog/dgc/blog/post/250bf643 describes how the heap and GC structures are organized in the current GC implementation, but there is no analysis on the allocation, marking and sweeping phases."
+41,Done,D Garbage Collector Research,Task,Immediate,Finish the current GC implementation analysis,Leandro Lucarella,"","",Leandro Lucarella,04/05/2009,04/10/2009,100,18.0,04/05/2009 02:55 am,04/11/2009 01:51 am,Major,"The blog post ""Understanding the current GC"":https://proj.llucax.com.ar/blog/dgc/blog/post/250bf643 describes how the heap and GC structures are organized in the current GC implementation, but there is no analysis on the allocation, marking and sweeping phases."
40,New,D Garbage Collector Research,Task,Normal,Plug Boehm-Demers-Weiser GC into D,Leandro Lucarella,"","",Leandro Lucarella,05/09/2009,"",0,"",04/05/2009 02:50 am,04/05/2009 03:58 am,Major,"""Boehm-Demers-Weiser Conservative Garbage Collector"":http://www.hpl.hp.com/personal/Hans_Boehm/gc/ is one of the most optimized, state of the art conservative collector, with optional parallel marking (to allow preemptive incremental collection).\r
\r
This collector is usually a point of comparison for any conservative collector, and it could be very nice to know how the current (and future) GC implementation(s) for D performs comparing to it."
* Maximum collection pause time\r
* Total collection pause time\r
\r
-See the ""D GC Benchmark Suite"":http://proj.llucax.com.ar/blog/dgc/blog/post/-1382f6a3 blog post for more details."
+See the ""D GC Benchmark Suite"":https://proj.llucax.com.ar/blog/dgc/blog/post/-1382f6a3 blog post for more details."