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