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 wrote:
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.


Reply via email to