how to use GC as a leak detector? i.e. get some help info from GC?

Leandro Lucarella llucax at
Sun May 24 19:13:14 PDT 2009

nobody, el 24 de mayo a las 19:05 me escribiste:
> Hi,
> I'm writing a data processing program in D, which deals with large amounts of
> small objects. One of the thing I found is that D's GC is horribly slow in
> such situation. I tried my program with gc enable & disabled (with some manual
> deletes). The GC disabled version (2 min) is ~100 times faster than the GC
> enabled version (4 hours)!
> But of course the GC disabled version still leak memory, it soon exceeds the
> machine memory limit when I try to process more data; while the GC enabled
> version don't have such problem.
> So my plan is to use the GC disabled version with manual deletes. But it was
> very hard to find all the memory leaks. I'm wondering: is there anyway to use
> GC as a leak detector? can the GC enabled version give me some help
> information on which objects get collected, so I can manually delete them in
> my GC disabled version?  Thanks!

As other asked, are you using D1 Tango/Phobos? D2? In Tango/D2 you can
enable logging in the GC (using the LOGGING version identifier).

Is your program source available? I'm gathering programs to make a D GC
benchmark suite an your programs seems like a good candidate for measuring
the GC performance.

Thank you.

Leandro Lucarella (luca) | Blog colectivo:
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
Que importante, entonces en estos días de globalización refregar
nuestras almas, pasarle el lampazo a nuestros corazones para alcanzar
un verdadero estado de babia peperianal.
	-- Peperino Pómoro

More information about the Digitalmars-d mailing list