Visual D 0.3.34 released - powered by a precise garbage collector

Rainer Schuetze r.sagitario at gmx.de
Sat Oct 13 05:37:52 PDT 2012



On 10/13/2012 10:19 AM, thedeemon wrote:
> On Friday, 12 October 2012 at 17:37:09 UTC, Rainer Schuetze wrote:
>> after struggling with memory issues for too long, the newest version
>> of Visual D enjoys the benefits of a pretty precise garbage collector.
>
> Great news!
> I'm a happy thankful user of VisualD. I really like the fact that the
> new precise GC is being tested on a real world project, and that it
> happens in Windows, not yet another unix-only development.
>
> What are your thoughts on current state of precise_gc2? How stable and
> how fast is it? What are the current plans for it?
>

I have only done a few benchmarks from the druntime/benchmark folder and 
the dmd test suite, but these are more biased towards lots of 
allocations than collections. For those, the overall performance is 
about 20-30% slower, because there is some more work to done in allocations.

Within Visual D, it seems that collections are quite a bit faster, but 
as the parser and semantic analysis which uses most memory, is delegated 
to another process, you probably won't notice it anyway.

My impression is that the branch on github 
(https://github.com/rainers/druntime/tree/precise_gc2) is pretty stable. 
There are still a number of unprecisely scanned memory areas:

- data and bss segment (Visual D uses a dmd/druntime a patch to 
implement precise scanning for these too, but it does not integrate very 
well and is Windows-specific so far)
- closures
- some structures in associative arrays, as there is no combined 
typeinfo available to be passed to the GC
- "emplaced" objects if memory is allocated with "new void[]"

The GC interface needs to be extended with a function to specify type 
info for an arbitrarily memory range to improve some of the above.


More information about the Digitalmars-d-announce mailing list