On Thursday, 11 June 2015 at 21:02:36 UTC, Jonathan M Davis wrote:
The other fun one is the insane number of template
instantations we get for stuff like std.algorithm thanks to all
of those helper templates like isInputRange. IIRC,
std.algorithm's unit tests instantiate over a million different
template instances - and much of that is simply for template
constraints and static ifs. So, improving build times with
regards to templates which are instantiated would probably be
the second largest gain to be had behind CTFE if we could
improve it, but obviously, we'd have to make such improvements
to be sure.
I am following along and learning, but could you perhaps elaborate
on this a bit more if you have time. I can see that the unit test
template proliferation makes running unit tests slow for
std.algorithm. But why does it affect builds in other respects
if you are just importing std.algorithm from a non-phobos code
base? Or was this an example of the extreme case as an
illustration?