Button: A fast, correct, and elegantly simple build system.

Atila Neves via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Thu Jun 16 06:39:20 PDT 2016


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.

Atila




More information about the Digitalmars-d-announce mailing list