On Friday, December 07, 2012 12:07:06 Nick Sabalausky wrote: > Sooo...what's the status of fixing DMD's forever-standing memory usage > issues? > > My understanding is that the big issues are: > > 1. CTFE allocates every time a CTFE variable's value is changed. > > 2. The GC inside DMD is disabled because it broke things, so it never > releases memory. > > Is this correct? If so, what's the current status of fixes? It seems to > me this would be something that should be creeping higher and higher up > the priority list (if it hasn't already been doing so).
The GC didn't break things per se. It was just made compilation much slower, and Walter didn't have time to fix it at the time (as dmd was close to a release), so it was disable. But someone needs to take the time to work on it and make it efficient enough to use (possibly doing stuff like making it so that it only kicks in at least a certain amount of memory is used to keep the common case fast but make the memory-intensive cases work). And no one has done that. Walter has been busy with other stuff and has made it clear that it's likely going to need to be someone else who steps up and fixes it, so we're stuck until soemone does that. As for CTFE, I don't know what the current state is. Don has plans, but I get the impression that he's too busy to get much done with them these days. We're dealing with a problem that requires some of our key developers (or someone to put in enough time and effort to learn much of what they know) in order to get it done, so it's fallen by the wayside thus far. - Jonathan M Davis
