On Thursday, 16 June 2016 at 04:26:24 UTC, Jason White wrote:
On Wednesday, 15 June 2016 at 12:00:52 UTC, Andrei Alexandrescu
I'd say the gating factor is -j. If an build system doesn't
implement the equivalent of make -j, that's a showstopper.
Don't worry, there is a --threads option and it defaults to the
number of logical cores.
I just did some tests and the reason it is slower than Make is
because of the automatic dependency detection on every single
command. I disabled the automatic dependency detection and
compared it with Make again. Button was then roughly the same
speed as Make -- sometimes it was faster, sometimes slower.
Although, I think getting accurate dependencies at the cost of
slightly slower builds is very much a worthwhile trade-off.
It would be a worthwhile trade-off, if those were the only two
options available, but they're not. There are multiple build
systems out there that do correct builds whilst being faster than
make. Being faster is easy, because make is incredibly slow.
I didn't even find out about ninja because I read about it in a
blog post, I actively searched for a make alternative because I
was tired of waiting for it.