D support for the Meson build system
Matthias Klumpp via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Mon Aug 22 04:45:37 PDT 2016
On Monday, 22 August 2016 at 01:34:36 UTC, jkpl wrote:
> On Sunday, 21 August 2016 at 19:08:59 UTC, Matthias Klumpp
> wrote:
>> for a project like Terminix, dub with LDC builds in 8.6s,
>> while Meson and ninja take only 6s here.
>
> Did you try to build with DUB but with WIFI or ethernet
> interface toggled off ?
No, but I obviously excluded any download times, and also
dependency build-times to be fair to dub.
But, with network access toggled off:
Terminix:
debug build:
dub: 0m8.60s
ninja: 0m6.36s
release build (standard args):
dub: 0m12.923s
ninja: 0m11.740s
asgen:
debug build:
dub: 0m13.00s
ninja: 0m13.04s
release build:
dub: 0m25.72s
ninja: 0m19.19s
I ran these a few times, and the results were comparable,
although I think if I would perform proper statistics the
variance would be relatively high. Compiler was LDC 1.0.0 (on a
Xeon E3-1231 v3).
One important thing about Ninja is that it will perform
split-builds by default, so if you change something, only the
changed piece needs to be recompiled. I *think* dub can do that
too, but for some reason it never does it (even when using
--parallel).
That behavior drastically reduces compile times when working on a
project.
Also, Ninja knows about all the source files and generated files
in advance, while dub needs to search for them on every run. That
of course also has the drawback that one needs to specify the
source files prior to building in the meson.build file.
More information about the Digitalmars-d-announce
mailing list