On Friday, December 07, 2012 15:23:36 monarch_dodra wrote: > In particular, when compiling "-unittest std\algorithm.d", dmd > uses *nearly* 1 GB (it uses about 1,051,176K on my machine). > > Problem is that when it reaches 1GB, it crashes. I have a pull > request which adds a few unittests to algorithm, and it is > consistently crashing on win32 with an out of memory error. > > In layman's terms: std\algorithm.d is full. You literally can't > add any more unittests to it, without crashing dmd on win32. > > I'd have recommended splitting the unittests in sub-modules or > whatnot, but come to think about it, I'm actually more concern > that a module could *singlehandedly* make the compiler crash on > out of memory... > > Also, I'm no expert, but why is my dmd limited to 1 GB memory on > my 64 bit machine...?
Don just made some changes to Tuple so that it no longer uses std.metastrings.Format (which is _insanely_ inefficient), which may fix the memory problem that you were running into. Obviously, dmd still has issues, but a major one in the library was fixed (though we should really look at killing std.metastrings entirely, because it's too inefficient to reasonably use and the new format should now work with CTFE, unlike the old one - which is why Format exists in the first place). - Jonathan M Davis