Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [PATCH 2/2] sys-libs/ncurses: Remove parallel econf logic
Date: Tue, 21 Mar 2017 15:45:03
Message-Id: 1490111083.1381.1.camel@gentoo.org
In Reply to: Re: [gentoo-dev] [PATCH 2/2] sys-libs/ncurses: Remove parallel econf logic by Mike Frysinger
1 On pon, 2017-03-20 at 21:12 -0400, Mike Frysinger wrote:
2 > On 20 Mar 2017 20:35, Michał Górny wrote:
3 > > Remove the parallel econf logic that adds a lot of complexity for minor
4 > > gain. It results in the output from different configure scripts being
5 > > mixed in the build log, making it unreadable. It causes econf to be run
6 > > in a subshell which is a PMS violation and can cause issues with some of
7 > > package manager implementations. Furthermore, the multijob parallel
8 > > processes are interleaved with multilib-build logic which is unsupported
9 > > and a very bad idea.
10 >
11 > NAK. you still haven't backed up your claims wrt to PMS, and this slows
12 > things down significantly.
13
14 You have found the appropriate PMS bit yourself, and chose to ignore it.
15 What can I do about that? How am I going to convince you that '*not*
16 guaranteed to work correctly if called from a subshell environment'
17 means you're not supposed to do that? If I submit a PMS patch changing
18 the wording to state the obvious you're going to accuse me once again of
19 changing PMS wording to target you.
20
21 Furthermore, I have linked an *explicit Portage bug* causing breakage
22 with your code. However, you've presumed that it's fine as long as
23 it will soon be fixed in the git version of Portage.
24
25 Finally, I should point out that PMS was *not* written with parallel
26 execution in mind. It was not deemed useful. It states no requirements
27 on parallel run guarantees, and so you can't expect package managers to
28 implement those commands in parallel-friendly way. It's bigger than you.
29
30 How about we turn things around, and start expecting maintainers to
31 justify their non-standard solutions instead? Please tell me, do you
32 think every other Gentoo developer is wrong not to do parallel econf? Do
33 you think I was stupid that I've removed that can of worms out of
34 multibuild?
35
36 Could you back your 'significant slow down' claim with any data? Here's
37 my results, MAKEOPTS=-j3 USE='cxx debug threads tinfo unicode'
38 ABI_X86='32 64', warm cache. The whole build takes around 25 minutes,
39 the configure phase (as measures by 'ebuild ... prepare; time ebuild ...
40 configure':
41
42 parallel: 2m35s
43
44 serial: 3m47s
45
46 We can dispute whether 1 minute gain out of 25 is meaningful. But
47 instead, I'd like to propose a better solution -- to use --cache-file=
48 to avoid redoing the same checks in subsequent runs.
49
50 cached: 2m24s
51
52 ...which proves it's faster than the parallel solution, and has
53 the major advantage of saving both CPU and wall clock time. Any reason
54 not do that? A patch will follow.
55
56 --
57 Best regards,
58 Michał Górny

Attachments

File name MIME type
signature.asc application/pgp-signature