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.

Reply via email to