[Nix-dev] Re: How do parallel builds scale?
Peter Simons
simons at cryp.to
Thu Mar 3 22:51:56 CET 2011
Hi Ludovic,
> http://hubble.gforge.inria.fr/parallel-builds.html
> http://hubble.gforge.inria.fr/parallel-build-details.html
these results are very interesting -- thank you for sharing that data.
> In short, package build scale very poorly, and more than half of the
> packages didn’t scale beyond 2.
The majority of open source software is built with Automake, and Automake
is not particularly good at utilizing several cores. The most significant
problem is that the common setting
SUBDIRS = foo bar
causes these two directories to be built *sequentially*. Automake won't
even try to build 'bar' unless 'foo' is complete. There are historical
reasons for that behavior, of course, but it's a really bad choice as far
as parallel building is concerned.
A build system that is superior in that regard is Boost.Jam, and indeed
your numbers show that the Boost libraries benefit a *lot* from having
several cores available.
Take care,
Peter
More information about the nix-dev
mailing list