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: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- 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
