Gentoo Archives: gentoo-user

From: "J. Roeleveld" <joost@××××××××.org>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: is multi-core really worth it?
Date: Fri, 01 Dec 2017 10:40:06
Message-Id: 085728BB-DEC0-4891-B5EE-A601167839C4@antarean.org
In Reply to: [gentoo-user] Re: is multi-core really worth it? by Raffaele Belardi
1 On 28 November 2017 11:07:58 GMT+01:00, Raffaele Belardi <raffaele.belardi@××.com> wrote:
2 >Raffaele Belardi wrote:
3 >> Hi,
4 >>
5 >> rebuilding system and world with gcc-7.2.0 on a 6-core AMD CPU I have
6 >the impression that
7 >> most of the ebuilds limit parallel builds to 1, 2 or 3 threads. I'm
8 >aware it is only an
9 >> impression, I did not spend the night monitoring the process, but
10 >nevertheless every time
11 >> I checked the load was very low.
12 >>
13 >> Does anyone have real-world statistics of CPU usage based on gentoo
14 >world build?
15 >
16 >I graphed the number of parallel ebuilds while doing an 'emerge -e'
17 >world on a 4-core CPU,
18 >the graph is attached. There is an initial peak of ebuilds but I assume
19 >it is fake data
20 >due to prints being delayed. Then there is a long interval during which
21 >there are few (~2)
22 >ebuilds running. This may be due to lack of data (~700Mb still had to
23 >be downloaded when I
24 >started the emerge) or due to dependencies. Then, after ~500 merged
25 >packages, finally the
26 >number of parallel ebuilds rises to something very close to the
27 >requested 5.
28 >
29 >Note: the graph represents the number of parallel ebuilds in time, not
30 >the number of
31 >parallel jobs. The latter would be more interesting but requires a lot
32 >more effort.
33 >
34 >Note also in the log near the seamonkey build that the load rises to 15
35 >jobs; I suppose
36 >seamonkey and other two potentially massively parallel jobs started
37 >with low parallelism,
38 >fooling emerge into starting all three of them, but then each one
39 >spawned the full -j5
40 >jobs requested by MAKEOPTS. There's little emerge can do in these cases
41 >to maintain the
42 >load-average.
43 >
44 >All of this just to convince myself that yes, it is worth it!
45 >
46 >raffaele
47 >
48 >Method:
49 >The relevant part of the command line:
50 ># "MAKEOPTS=-j5 EMERGE_DEFAULT_OPTS=--jobs 3 --load-average 5" emerge
51 >-e world
52 >on a 4 core CPU.
53 >In the log I substituted a +1 for every 'Emerging' and -1 for every
54 >'Installing', removed
55 >the rest of the line, summed and graphed the result.
56
57 Add the load average part to the makeopts and make will keep the jobs down when load rises.
58
59 --
60 Joost
61 --
62 Sent from my Android device with K-9 Mail. Please excuse my brevity.