On Thu, Jan 27, 2011 at 03:33:21PM +0200, Nikos Chantziaras wrote:
> On 01/27/2011 03:11 PM, Dale wrote:
> >I am using the -j option for the first time now. I'm updating KDE. It
> >seems to work fine. It doesn't scroll all the stuff like with a regular
> >emerges but this new rig is so fast, I can't read it anyway. I did have
> >a package to fail and it spit out the error for me to read.
> You don't need that if you have MAKEOPTS set in your make.conf,
> which is preferred. The -j option of emerge emerges multiple
> packages, while with MAKEOPTS set to "-j4" or whatever does a
> parallel build in the same package (meaning compiling multiple
> source files at the same time).
> It's preferred because with "emerge -jN" the last package will only
> use one CPU, while with "-jN" in MAKEOPTS even the last package will
> use N CPUs. Furthermore, emerge can't always build N packages at
> the same time because one can depend on the other, so it will have
> to wait until the dependency is built.
On the other hand, unpacking, configure and install stages are not
parallel and emerge can do those in parallel for different packages...
The best would be somewhere in the middle
There are also the load-average options to -j, i.e.:
MAKEOPTS="-j -l5" emerge -j --load-average=5 ....
which makes make spawn parallel processes while load average is below 5
and the same for emerge spawning parallel ebuilds (when make isn't