Ian Collins wrote:

As I've suggested before, the best way I can see to improve build times
is to "flatten out" the build.  One way to do this is to create higher
level makefiles with targets from several directories.  This reduces the
number of bottlenecks.

This is how I structure my own code and I can maintain a steady number
of jobs over several build machines this way.

This will also help to bring distributed building to ON.

As Stephen Hahn has already pointed out I did a significant amount of work in this area in the past. I too incorrectly assumed that the thing slowing down builds was lack of parallelism in the makefiles, and I was wrong as well. The actual cause was unnecessary /bin/sh invocations which were chewing up vast amounts of CPU, and I suspect that there is still work to be done in that area. This was directly contrary to my expectations when I started the work, I thought the problems would be primarily related to poor parallelism in the build.

Please read the paper.

http://mediacast.sun.com/share/sch/d-exacct-builds-suntech-2001.pdf

Moral of the story: Instrument and measure before suggesting solutions, otherwise you are probably fixing the wrong thing.

--
Alan Burlison
--
_______________________________________________
tools-discuss mailing list
[email protected]

Reply via email to