Raffaele Belardi wrote:
> Hi,
> 
> rebuilding system and world with gcc-7.2.0 on a 6-core AMD CPU I have the 
> impression that
> most of the ebuilds limit parallel builds to 1, 2 or 3 threads. I'm aware it 
> is only an
> impression, I did not spend the night monitoring the process, but 
> nevertheless every time
> I checked the load was very low.
> 
> Does anyone have real-world statistics of CPU usage based on gentoo world 
> build?

I graphed the number of parallel ebuilds while doing an 'emerge -e' world on a 
4-core CPU,
the graph is attached. There is an initial peak of ebuilds but I assume it is 
fake data
due to prints being delayed. Then there is a long interval during which there 
are few (~2)
ebuilds running. This may be due to lack of data (~700Mb still had to be 
downloaded when I
started the emerge) or due to dependencies. Then, after ~500 merged packages, 
finally the
number of parallel ebuilds rises to something very close to the requested 5.

Note: the graph represents the number of parallel ebuilds in time, not the 
number of
parallel jobs. The latter would be more interesting but requires a lot more 
effort.

Note also in the log near the seamonkey build that the load rises to 15 jobs; I 
suppose
seamonkey and other two potentially massively parallel jobs started with low 
parallelism,
fooling emerge into starting all three of them, but then each one spawned the 
full -j5
jobs requested by MAKEOPTS. There's little emerge can do in these cases to 
maintain the
load-average.

All of this just to convince myself that yes, it is worth it!

raffaele

Method:
The relevant part of the command line:
 # "MAKEOPTS=-j5 EMERGE_DEFAULT_OPTS=--jobs 3 --load-average 5" emerge -e world
on a 4 core CPU.
In the log I substituted a +1 for every 'Emerging' and -1 for every 
'Installing', removed
the rest of the line, summed and graphed the result.

Attachment: jobs3-avg5.txt.orig.gz
Description: application/gzip

Reply via email to