On Nov 28, 2011 11:32 AM, "Michael Mol" <mike...@gmail.com> wrote:
>

----- >8 snip

>
> MAKEOPTS would be -j16, -l10. (Which actually goes up to about 12 or
> 13 based on that N*1.6 behavior)
>

----- >8 snip

Just in case anyone wonders where the multiplier "1.6" comes from:

There had been a discussion somewhere (I forgot where exactly, sorry) about
load numbers. The final conclusion was that the ideal load number for
today's processors is 2*N, because with the out-of-order capability of
modern processors, two instructions can overlap in the pipeline, even
without hyperthreading.

Unfortunately, striving for 2*N will inadvertently result in short bursts
of > 2*N, and this potentially induce a stall, which will be very costly.
1.8*N gives a 10% margin for burst activities, while 1.6*N gives a 20%
margin.

Since emerging packages has a sudden increase in load when autoconfigure
finishes and make fires up all the parallel building, I figure 20% margin
will be better.

Of course, that's before @mikemol made me aware of MAKEOPTS -l, so I am now
tempted to raise the load-average to 1.8*N, letting make handle the bursts.

Rgds,

Reply via email to