Visual D Build + DMD Bugginess = Bad

Denis Koroskin 2korden at gmail.com
Mon Oct 18 19:45:49 PDT 2010


On Tue, 19 Oct 2010 06:26:23 +0400, Nick Sabalausky <a at a.a> wrote:

> "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.
>
>

dmd doesn't use multiple core for anything BUT asynchronous reading from  
disk. Everything else is done is a single thread. I don't think it has  
THAT big of impact, but I'll try to recompile with all the cores disabled.


More information about the Digitalmars-d mailing list