Our template emission strategy is broken

David Nadlinger via Digitalmars-d digitalmars-d at puremagic.com
Wed Nov 11 07:49:33 PST 2015


On Wednesday, 11 November 2015 at 13:56:51 UTC, Martin Nowak 
wrote:
> No, it's not. Separate compilation is C++-ishly slow by design 
> (b/c all dependencies get imported over and over again, just 
> like headers).

To a certain extent this is not true. As long as the amount 
repeated work is not too big, the ability to parallelize the 
actual semantic3/glue/codegen parts in a separate compilation 
setting still leads to a considerable speedup. All-at-once 
compilation forces you to throw away 31 of the 32 cores in your 
nice heavy duty development box.

(Yes, in theory the different parts of the compilation process 
could be parallelized even for an all-at-once build, but by the 
time we reach the level of separation/well-definedness of the 
internal state required for this, all the by-package compilation 
problems would have probably disappeared rather automatically.)

  — David


More information about the Digitalmars-d mailing list