State of and plans for the garbage collector

Leandro Lucarella luca at llucax.com.ar
Thu Jul 15 06:10:46 PDT 2010


Jonathan M Davis, el 15 de julio a las 00:18 me escribiste:
> Okay. I really don't know much about garbage collectors, how they work, or what 
> makes one particularly good or bad (other than the fact that it needs to be 
> efficient execution-wise and manage memory wisely so that you don't use too much 
> of it or do anything else that would be an overall negative for performance). 
> However, from the comments here - both recent and in the past - it's pretty 
> clear that D's garbage collector is fairly outdated. I would assume that that 
> would be negative for performance - certainly it would mean that significant 
> improvements could be made.
> 
> So, my question is this: what are the plans for the garbage collector? Is the 
> intention to continue to improve it bit by bit, to give it a major overhaul at 
> some point, to outright replace it at a later date, or something else entirely?
> 
> If D is going to compete with C and C++, it needs to be highly efficient, and if 
> the garbage collector isn't up to snuff, that's going to be a big problem. I'm 
> not looking to complain about the current garbage collector - I really don't 
> know how good or bad it is - but if it is rather poor (as I've gotten the 
> impresison that it is - at least in some respects - from various discussions on 
> it here), then I'd assume that it needs a major overhaul or replacement at some 
> point. So, are there any specific plans with regards to that, or is that just 
> something that may be considered in the future?

I'm working on a concurrent GC, things are going really slow, but I plan
to give it more attention this months, and I hope it will be finished
(finished in my own terms, as it is my thesis) by the end of the year.
I would like to explore merging the precise scanning patch and some
other optimizations, collection strategies, but I'm not sure I will have
the time (probably not).

I'm not sure how it would turn out, even when I'm doing regular
benchmarks to ensure, at least, that the current performance is not
degraded (I didn't started doing the collection concurrently).

One more note: I'm working with D1, but using the Tango runtime, so
I guess it should be not to hard to port to D2.

-- 
Leandro Lucarella (AKA luca)                     http://llucax.com.ar/
----------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------
Every day 21 new born babies will be given to the wrong parents


More information about the Digitalmars-d mailing list