Gentoo Archives: gentoo-dev

From: Andrew Savchenko <bircoph@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Portage dependency solving algorithm
Date: Tue, 18 Nov 2014 05:47:45
Message-Id: 20141118084731.90e6aae2283f36533360cf27@gentoo.org
In Reply to: Re: [gentoo-dev] Portage dependency solving algorithm by Zac Medico
1 Hi,
2
3 On Mon, 17 Nov 2014 19:56:02 -0800 Zac Medico wrote:
4 > On 11/17/2014 07:07 PM, Andrew Savchenko wrote:
5 [...]
6 > > Tarball contains per host directories. Each one contains:
7 > > - pstats file;
8 > > - generated pdf with call graphs and timing;
9 > > - host-related information:
10 > > * emerge --info
11 > > * /proc/cpuinfo
12 > > * /proc/memnifo
13 > >
14 > > *.pstats and *.pdf filename should describe command unambiguously,
15 > > e.g. emerge-pv_python:2.7_python:3.3-python-3.3.5-r1 means:
16 > > emerge -pv python:2.7 python:3.3 while using python-3.3.5-r1 as
17 > > interpreter.
18 >
19 > Thank you for this data. I will see what I can to do optimize the
20 > problem areas that your data highlights.
21 >
22 > > hitomi system was not fully updated for a bit more than a year,
23 > > while another one for about half a year. So dependency calculations
24 > > may be of different intencities. Sets of packages installed are
25 > > similar but not the same:
26 > > 2502 on hitomi
27 >
28 > For hitomi, _slot_operator_update_probe/use_reduce is an obvious thing
29 > to optimize. It called use_reduce 53763 times there, so it seems to
30 > repeat use_reduce multiple times for the same packages. That means we
31 > should see a benefit from memoization.
32 >
33 > > 2953 on desktop
34 >
35 > For desktop, _dynamic_deps_preload is an obvious thing to optimize. You
36 > can avoid this function entirely if you use --dynamic-deps=n. You may
37 > need to run 'emerge @changed-deps' in order to ensure that emerge will
38 > be able to cope with --dynamic-deps=n. IIRC you need at least
39 > sys-apps/portage-2.2.14 for @changed-deps support.
40
41 I use 2.2.14 on both hosts (and usually latest ~x86 portage is
42 there). I thought that running fixpackages should be enough to run
43 emerge with --dynamic-deps=n.
44
45 I'm afraid I will not be able to run emerge @changed-deps prior to
46 @world update due to too old packages installed (e.g. versions not
47 in tree anymore), blockers and unsatisfied deps.
48
49 When I'll manage to run emerge -DNupv @world without errors, I'll
50 send you stats for both runs with and without dynamic deps.
51
52 By the way, do you need pstats files (e.g. for some extra data) or
53 pdf graphs are sufficient?
54
55 Best regards,
56 Andrew Savchenko

Replies

Subject Author
Re: [gentoo-dev] Portage dependency solving algorithm Zac Medico <zmedico@g.o>