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 |