D compiles fast, right? Right??

Jonathan Marler johnnymarler at gmail.com
Sat Mar 31 08:28:31 UTC 2018


On Friday, 30 March 2018 at 20:17:39 UTC, Andrei Alexandrescu 
wrote:
> On 3/30/18 12:12 PM, Atila Neves wrote:
>> Fast code fast, they said. It'll be fun, they said. Here's a D 
>> file:
>> 
>>      import std.path;
>> 
>> 
>> Yep, that's all there is to it. Let's compile it on my laptop:
>> 
>>      /tmp % time dmd -c  foo.d
>>      dmd -c foo.d  0.12s user 0.02s system 98% cpu 0.139 total
>
> Could be faster.
>
>> That... doesn't seem too fast to me. But wait, there's more:
>> 
>>      /tmp % time dmd -c -unittest foo.d
>>      dmd -c -unittest foo.d  0.46s user 0.06s system 99% cpu 
>> 0.525 total
>
> Not fast. We need to make -unittest only affect the built 
> module. Even though it breaks certain uses of 
> __traits(getUnittests). No two ways about it. Who can work on 
> that?
>
> Andrei

If you approve of the -unittest=<pattern> approach then 
timotheecour has already offered to implement this.  It's pattern 
matching would work the same as -i and would also use the 
"implied standard exclusions" that -i uses, namely,

-unittest=-std -unittest=-etc -unittest=-core

This would mean that by default, just passing "-unittest" would 
exclude druntime/phobos just like "-i" by itself also does.


More information about the Digitalmars-d mailing list