On Friday, 3 April 2015 at 17:55:00 UTC, Dicebot wrote:
On Friday, 3 April 2015 at 17:25:51 UTC, Ben Boeckel wrote:
On Fri, Apr 03, 2015 at 17:10:31 +0000, Dicebot via Digitalmars-d-announce wrote:
On Friday, 3 April 2015 at 17:03:35 UTC, Atila Neves wrote:
> . Separate compilation. One file changes, only one file > gets rebuilt

This immediately has caught my eye as huge "no" in the description. We must ban C style separate compilation, there is simply no way to move forward otherwise. At the very least not endorse it in any way.

Why? Other than the -fversion=... stuff, what is really blocking this? I personally find unity builds to not be worth it, but I don't see anything blocking separate compilation for D if dependencies are set up
properly.

--Ben

There are 2 big problems with C-style separate compilation:

1)

Complicates whole-program optimization possibilities. Old school object files are simply not good enough to preserve information necessary to produce optimized builds and we are not in position to create own metadata + linker combo to circumvent that. This also applies to attribute inference which has become a really important development direction to handle growing attribute hell.

Not sure about other people, but I do not care about whole program optimization during an edit-compile-run cycle. I just want it to compile as fast as possible, and if I change one or two files I don't want to have to recompile an entire codebase.

Reply via email to