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