On Wed, Aug 30, 2017 at 08:01:17AM +0000, via Digitalmars-d wrote: [...] > D supports separate compilation by design. I.e. it doesn't require all > the source files corresponding to all the object files being linked to > produce the final executable, to be loaded in memory by the compiler.
Yes, I think the general recommendation for very large codebases is to compile one package at a time, i.e., one subdir at a time. Nevertheless, compiler memory usage remains an issue on low-memory systems. My old work PC simply cannot handle running dmd without grinding to a halt because there's just not enough RAM to go around (only 500MB total). It's generally not a problem for modern PCs with at least a few GB of memory. Walter chose compilation speed over memory efficiency, so that's just the way it is. In theory, one could turn on GC in the compiler so that it will work on low-memory systems, but I'm not sure if such a change will be accepted into dmd. T -- Questions are the beginning of intelligence, but the fear of God is the beginning of wisdom.
