Gentoo Archives: gentoo-user

From: "Holger Hoffstätte" <holger@××××××××××××××××××.com>
To: gentoo-user@l.g.o
Subject: [gentoo-user] Re: "emerge --jobs=1 ..." vs "MAKEOPTS=-j1 emerge ..."
Date: Sun, 21 Jun 2020 10:12:00
Message-Id: c51f207e-d4c3-0d24-a242-74da86d22cca@applied-asynchrony.com
In Reply to: [gentoo-user] "emerge --jobs=1 ..." vs "MAKEOPTS=-j1 emerge ..." by Dr Rainer Woitok
1 On 2020-06-21 11:53, Dr Rainer Woitok wrote:
2 > Greetings,
3 >
4 > is there any difference between running "emerge --jobs=1 ..." and runn-
5 > ing "MAKEOPTS=-j1 emerge ..."?
6
7 --jobs=1 starts one package build at a time, possibly using many parallel
8 processes - depending on MAKEOPTS and how the build works.
9
10 MAKEOPTS sets the number of parallel processes within one package build.
11
12 They are complementary, and you can combine them. However frequently
13 a series of packages have dependencies (a before b before c), so starting
14 multiple --jobs may not have any effect. Or it may, e.g. in the case of
15 rebuilds or independent packages that often only use one process to build,
16 e.g. perl modules or something smaller. --jobs can really make a difference
17 since otherwise you would suffer from portage/script/shell overhead relative
18 to the actual work being performed.
19
20 make offers the -l parameter that constrains the number of processes by
21 load, and adjusts them accordingly. As an example, with 8 cores you could
22 use MAKEOPTS="-j8 -l8" to enable inter-ebuild parallelism and a max. load
23 for one package, then start several --jobs to build independent packages
24 without waiting for each other.
25
26 Hope this helps.
27
28 -h