Profiling DMD's Compilation Time with dmdprof

Joakim dlang at joakim.fea.st
Thu Nov 8 08:06:01 UTC 2018


On Thursday, 8 November 2018 at 07:54:56 UTC, Manu wrote:
> On Wed, Nov 7, 2018 at 10:30 PM Vladimir Panteleev via 
> Digitalmars-d-announce <digitalmars-d-announce at puremagic.com> 
> wrote:
>>
>> On Thursday, 8 November 2018 at 06:08:20 UTC, Vladimir 
>> Panteleev wrote:
>> > It was definitely about 4 seconds not too long ago, a few 
>> > years at most.
>>
>> No, it's still 4 seconds.
>>
>> digger --offline --config-file=/dev/null -j auto -c 
>> local.cache=none build     7.31s user 1.51s system 203% cpu 
>> 4.340 total
>>
>> > It does seem to take more time now; I wonder why.
>>
>> If it takes longer, then it's probably because it's being 
>> built in one CPU core, or in the release build.
>
> https://youtu.be/msWuRlD3zy0

Lol, I saw that link and figured it was either some comedy video, 
like the Python ones Walter sometimes posts, or you were actually 
showing us how long it takes. Pretty funny to see the latter.

> DMD only builds with one core, since it builds altogether.

Yes, but your build time is unusually long even with one core. 
Are the D backend and frontend at least built in parallel to each 
other? It doesn't seem to be even doing that, though they're 
separate invocations of DMD.

> And all builds are release builds... what good is a debug 
> build? DMD
> is unbelievably slow in debug. If it wasn't already slow 
> enough... if
> I try and build with a debug build, it takes closer to 5 
> minutes.
>
> I suspect one part of the problem is that DMD used to be built 
> with a C compiler, and now it's built with DMD... it really 
> should be built with LDC at least?

Could be part of the problem on Windows, dunno.


More information about the Digitalmars-d-announce mailing list