digitalmars.D - GC again
- "Craig Black" <cblack ara.com> Nov 27 2006
- "Frank Benoit (keinfarbton)" <benoit tionex.removethispart.de> Nov 27 2006
- "Craig Black" <cblack ara.com> Nov 28 2006
Coming from a C++ background, I don't know a lot about GC. Today I was looking at the new features in Mono .NET 1.2. They use a Boehm GC link D's. But in 1.2, it was improved. Here's the quote: Garbage Collector: We now use Boehm GC in precise mode as opposed to fully conservative mode. We also use it with a precise set of GC roots which greatly improved Garbage Collection performance. What does this mean and how hard would it be for D to do this as opposed to doing a full generational GC? Maybe we could do this as a short term improvement while we wait for a generational GC in the long term. -Craig
Nov 27 2006
Garbage Collector: We now use Boehm GC in precise mode as opposed to fully conservative mode. We also use it with a precise set of GC roots which greatly improved Garbage Collection performance.
The explanation on wikipedia are a good starting point http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29What does this mean and how hard would it be for D to do this as opposed to doing a full generational GC? Maybe we could do this as a short term improvement while we wait for a generational GC in the long term.
At the moment the GC has no information, what values in memory are of pointer type, and which one are not. So he takes them all as pointers. This means conservative (vs. precise). To do a precise GC, this information must be available and that will need support in the compiler. To be precise is a precondition for a generational GC.
Nov 27 2006
"Frank Benoit (keinfarbton)" <benoit tionex.removethispart.de> wrote in message news:ekfj8p$v0o$1 digitaldaemon.com...Garbage Collector: We now use Boehm GC in precise mode as opposed to fully conservative mode. We also use it with a precise set of GC roots which greatly improved Garbage Collection performance.
The explanation on wikipedia are a good starting point http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29What does this mean and how hard would it be for D to do this as opposed to doing a full generational GC? Maybe we could do this as a short term improvement while we wait for a generational GC in the long term.
At the moment the GC has no information, what values in memory are of pointer type, and which one are not. So he takes them all as pointers. This means conservative (vs. precise). To do a precise GC, this information must be available and that will need support in the compiler. To be precise is a precondition for a generational GC.
I was thinking something along those lines. Thanks for clearing it up for me. -Craig
Nov 28 2006








"Craig Black" <cblack ara.com>