I could tell you whatever you want to know about Gentoo's build system, but
I don't know that it's really relevant to building NetBeans. It is nice,
and does the kind of parallelization you're after, but it's more like a
meta-build system - a build system for running other build systems.  FWIW,
NetBSd/SmartOS's pkgsrc is also similar, but makefile-based and more
aggressive about rebuilding dependencies.

If you were looking at replacing the Ant based system, the first place I'd
look is Maven, since there is already support for building modules with it,
so a lot of the heavy lifting is already done.

If you're looking to parallelize building modules, that probably could be
done either with the existing Ant system, or possibly with Maven - I don't
know off the top of my head something for parallelizing a multi module
build, but it's likely to be a solved problem.

IMO, Gradle is a step backward for build systems - scriptability leads to
fragile systems, and ones that are impossible for tools to reason about.

https://timboudreau.com/blog/maven/read

In my experience, the biggest accelerator of building NetBeans is SSD -
ideally a couple in raid-0. If you're bound on disk I/O, you might do a lot
of work to parallelize everything, and then find build times aren't much
improved, if you were saturating the hardware.

If you want to measure how disk bound, copy the source tree to a ramdisk
and time building there.

For that matter, there is probably a lot of low hanging fruit in improving
performance of the existing Ant build - I don't know that much effort has
ever been put into that.

-Tim
-- 
http://timboudreau.com

Reply via email to