Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: Is || ( Atom... ) broken?
Date: Wed, 09 Jul 2014 12:35:04
Message-Id: pan$821c9$b045bf08$fdd124b8$ee3a7352@cox.net
In Reply to: Re: [gentoo-dev] Re: Is || ( Atom... ) broken? by Greg Turner
1 Greg Turner posted on Wed, 09 Jul 2014 02:52:31 -0700 as excerpted:
2
3 > On Mon, Jul 7, 2014 at 9:39 PM, Duncan <1i5t5.duncan@×××.net> wrote:
4 >> But from the sound of things, default backtrack=10, multilib, full
5 >> @system set and default profile use, on spinning rust, is getting all
6 >> but intolerable now. =:^(
7 >
8 > Actually a mix of RAID0 and RAID1 over fast, new-ish SSDs -- anyhow I
9 > doubt it would matter on spinning rust. When I sync, I run egencache on
10 > everything and then emerge --metadata, so by the time I run emerge -u*,
11 > it's against a warm cache; the disk light basically stays dark the whole
12 > time. But, I have overlays with forced eclass overrides, and over 2000
13 > packages installed. Furthermore, after a sync, I'm often waiting for
14 > emerge to fail, not to succeed.
15 >
16 > Worse, I will usually provide --complete-graph to portage (because
17 > otherwise, portage can fail to show me the clues I need[.] Basically,
18 > you could say my use case is the perfect storm of ways to make emerge
19 > slow.
20
21 OK; makes more sense, now.
22
23
24 > I probably wouldn't be kept
25 > waiting for those 30 minutes unless I'd waited a week or two, and let
26 > gx86 provide newer versions of several of my ebuilds. I'm pretty sure
27 > this triggers massive amounts of backtracking.
28
29 Have you /tried/ backtrack=0? Someone suggested it and I was a bit
30 skeptical, but one day after waiting for the 10 backtracks to complete,
31 only to see portage tell me it needed my help to solve the problem
32 anyway, I decided to try it. It's likely I'm doing a bit more work
33 myself now, but not /that/ much more, and at least it gets done faster,
34 giving me enough information to actually do something about it sooner.
35
36 If as you say you're often waiting for emerge to fail, then backtrack=0
37 may well shave significant time off that failure and let you deal with it
38 sooner, as it seems to have done for me.
39
40 > By the way, I've profiled depsolving on my system. Portage spends a
41 > /majority/ of it's depsolving time solving regexes on behalf of
42 > portage.dep.Atom. I have an untested theory that, without fixing any
43 > algorithmic stuff, we could reap a meaningful O(1) gain implementing,
44 > say, a CustomAtom (inherited by Atom) in cpython that does most of its
45 > string parsing in hand-coded C.
46
47 Sounds reasonable, but that's well out of my league to code up, so...
48
49 --
50 Duncan - List replies preferred. No HTML msgs.
51 "Every nonfree program has a lord, a master --
52 and if you use the program, he is your master." Richard Stallman

Replies

Subject Author
Re: [gentoo-dev] Re: Is || ( Atom... ) broken? Greg Turner <gmt@×××××.us>