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.
jobs3-avg5.txt.orig.gz
Description: application/gzip