Edward Welbourne wrote:
2x is too much. 1.5x has been the best in my experience, any more than that
and you're losing too much CPU to scheduling overhead instead of real work.
Any less and you're giving up too much in idle or I/O time.
This depends a bit on whether you're using icecc or some similar
distributed compilation system. I believe a better approach is to set
a generous -j, such as twice the count of CPUs, but impose a load
limit using -l, tuned rather more carefully. Scheduling overhead
contributes to load, so is taken into account this way.
Perhaps in a perfect world -l would be useful. In fact, since load averages
are calculated so slowly, by the time your -l limit is reached the actual CPU
load will have blown past it and your machine will be thrashing. That's the
entire reason I came up with the -j implementation in the first place.
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make