[dmd-internals] Windows DMD development is now impossible

Brad Roberts braddr at puremagic.com
Sat Jun 8 11:32:24 PDT 2013


Well, impossible is a rather strong word, considering that the win32 auto-tester seems to be doing 
it's job successfully.

I _do_ consider it a compiler memory management issue.  There's no reason that the entirety of 
phobos (or pretty much any app) ought to be compilable in one shot.  There's approximately 10M of 
source for druntime+phobos and some how it can't fit in a couple _gigs_ of ram?  And looking at 
std.algorithm, that's a mere 342k of source code.  Yes, it grows, but 4 orders of magnitude?

As to what to do, how much memory do you have and are you using the snn.lib update that Walter 
released a few years ago that fixed the memory allocator in it to not suck so bad?

   md5: 9357508e541067ea34056dade4381dd8 dmc/dm/lib/snn.lib

On 6/8/13 11:12 AM, Don Clugston wrote:
> With win32, I can no longer run unittests:
> ------------------
> dmd -O -w -d -property -L/co -c -unittest -ofunittest5.obj std\algorithm.d
> Error: out of memory
> ------------------
> This has happened many times before, and we dealt with it by reducing the number of modules we
> compiled into each object file.  We once had 30 modules per obj file. Then fifteen. Then five. But
> now we're at one, that workaround can no longer be used.
> The idea that we can continue to throw billions of templates and imports into every Phobos module,
> is leading us towards catastrophe.
>
> Sure, you can say, the compiler should improve its memory management. But I don't think that's
> really the problem. If it was better, then compiler might not run out of memory, but it would run
> unusably slowly. I think most people have no idea of just how many templates the compiler is being
> asked to instantiate.
> Every import has a cost, and that cost is far from zero.
>
> I'm stuck, and I don't know what to do.
>
>
> _______________________________________________
> dmd-internals mailing list
> dmd-internals at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals
>



More information about the dmd-internals mailing list