Gentoo Archives: gentoo-portage-dev

From: Brian Harring <ferringb@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] DepSet
Date: Wed, 14 Dec 2005 10:42:13
Message-Id: 20051214104111.GG10957@nightcrawler.e-centre.net
In Reply to: Re: [gentoo-portage-dev] DepSet by Jason Stubbs
1 On Fri, Dec 09, 2005 at 08:07:47AM +0900, Jason Stubbs wrote:
2 > On Friday 09 December 2005 04:03, Zac Medico wrote:
3 > > Jason Stubbs wrote:
4 > > > On Thursday 08 December 2005 16:44, Zac Medico wrote:
5 > > >>The middle hunk fixes a problem with block atoms that do not match any
6 > > >>packages. Previously, these atoms would not make it into the okay_atoms
7 > > >> set which caused unresolved dependencies.
8 > > >
9 > > > Are you sure about this?
10 > >
11 > > Well, I'm pretty sure. You're analysis seems to be perfectly correct except
12 > > for 2 points that you haven't accounted for:
13 > >
14 > > 1) The atom.key != child.key optimization prevents the atom.match(child) ^
15 > > atom.blocks bit from working in the case that my patch handles (block atom
16 > > that does not match any package).
17 > >
18 > > 2) Without the atom.key != child.key optimization, the original algorithm
19 > > would bail out early, before all packages have been checked. We need to
20 > > ensure that the atom does not block _any_ of the packages before we add it
21 > > to okay_atoms, otherwise, we risk choosing the wrong atomset/combination.
22 > > Note that checking all the packages _does_ introduce a performance penalty
23 > > for block atoms.
24 >
25 > Damn optimizations. :|
26 >
27 > Both points are correct.
28 So... you going to shove this into svn? :)
29 ~harring