reggae v0.5.0: new features in the D meta-build system

anonymous via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Fri Sep 25 16:53:23 PDT 2015


On Saturday 26 September 2015 01:24, Atila Neves wrote:

> There have been threads about this before. It turns out that 
> compiling per file is usually slower than compiling the whole 
> package/app at once. It's not intuitive, but it's true (I 
> measured it myself). reggae has an option to compile per-file but 
> I haven't used it since switching to per-package once.

Compiling one file at a time is yet another thing.

1) Compile everything into one object file:
dmd -c -ofresult.o foo.d bar.d
2) Compile to multiple object files in one run:
dmd -c foo.d bar.d
3) Compile to multiple object files in multiple runs:
dmd -c foo.d; dmd -c bar.d

Since you didn't know about 2, I take it that you measured 1 vs 3. 3 is 
bound to be slower when the modules share dependencies, because they have to 
be parsed again and again.

2 may be faster or slower than 1, I don't know, a quick check didn't show a 
difference. When the template instantiation issue ever gets fixed, I 
wouldn't be surprised if 2 got slower than 1. Of course, any slowness of 2 
must then be weighed against 1 compiling more than necessary.


More information about the Digitalmars-d-announce mailing list