Visual D Build + DMD Bugginess = Bad

Nick Sabalausky a at a.a
Mon Oct 18 19:26:23 PDT 2010


"Denis Koroskin" <2korden at gmail.com> wrote in message 
news:op.vkshh4bdo7cclz at korden-pc...
> On Tue, 19 Oct 2010 00:41:54 +0400, Nick Sabalausky <a at a.a> wrote:
>
>> "Rainer Schuetze" <r.sagitario at gmx.de> wrote in message
>> news:i9f2ce$30re$1 at digitalmars.com...
>>>
>>> I've used ddmd as a medium sized project for testing. It has more than 
>>> 400
>>> files with most modules mutually importing each other. Some remarks:
>>>
>>> - compilation speed is a lot worse, even when compared to what you would
>>> expect from a similar C/C++ project. It takes almost 8 minutes to 
>>> compile
>>> ddmd on my system with single file compilation, while the standard
>>> compilation takes about 10 seconds.
>>>
>>
>> Whaa...? Standard compilation of ddmd takes me a full two minutes.
>>
>>
>
> Do you compile the code on 486 or something? :)

Heh :)  Compared to your and Rainer's systems it probably might as well be.

> Running the build script  takes 7.967 seconds for me (timed with timeit, 
> part of the Windows Server  2003 Resource Kit Tools).

My guess is it may be the multi-threaded "process multiple modules in 
parallel" optimization. DDMD does have a *lot* of source files. And I'm on a 
single-core (yea, yea, I know, but it works for me and I have no money).

I'm curious, is it possible for you or Rainer to time it running dmd in a 
"force single-core" mode? Ideally using the main system/OS core (if there 
even is one)? I would expect a normal out-of-the-box dmd would be noticably 
faster for you two just because of that multi-thread/core optimization and 
the cores themselves just simply being faster, but 120 sec vs 8 sec still 
seems an excessive difference.

And then considering also, outside of dmd bugs, I've never once had any D 
program besides ddmd take more than a few seconds - despite the fact that 
much of what I do complie is fairly template/mixin/ctfe-heavy, and ddmd 
appears to use very little (if any) of that - it's certainly still a 
conceivable speed difference, but it does make me wonder if something else 
might be going on.

BTW, anyone know of an easy way to check how much time in a process is spent 
waiting on disk IO? It's entirely possible that my disk is just fragmented 
all to hell.




More information about the Digitalmars-d mailing list