mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-06-01 12:51:43 +00:00
britney.py: Avoid some O(n) look-ups in the auto-hinter
Signed-off-by: Niels Thykier <niels@thykier.net>
This commit is contained in:
parent
843952d627
commit
0043b09c45
@ -2805,7 +2805,9 @@ class Britney(object):
|
|||||||
type="I")
|
type="I")
|
||||||
|
|
||||||
# consider only excuses which are valid candidates
|
# consider only excuses which are valid candidates
|
||||||
excuses = dict((x.name, x) for x in self.excuses if x.name in [y.uvname for y in self.upgrade_me])
|
valid_excuses = frozenset(y.uvname for y in self.upgrade_me)
|
||||||
|
excuses = dict((x.name, x) for x in self.excuses if x.name in valid_excuses)
|
||||||
|
excuses_deps = dict((name, set(excuse.deps)) for name, excuse in excuses.items())
|
||||||
sources_t = self.sources['testing']
|
sources_t = self.sources['testing']
|
||||||
|
|
||||||
groups = set()
|
groups = set()
|
||||||
@ -2871,7 +2873,7 @@ class Britney(object):
|
|||||||
for item, ver in items:
|
for item, ver in items:
|
||||||
# excuses which depend on "item" or are depended on by it
|
# excuses which depend on "item" or are depended on by it
|
||||||
new_items = [(x, excuses[x].ver[1]) for x in excuses if \
|
new_items = [(x, excuses[x].ver[1]) for x in excuses if \
|
||||||
(item in excuses[x].deps or x in excuses[item].deps) \
|
(item in excuses_deps[x] or x in excuses_deps[item]) \
|
||||||
and (x, excuses[x].ver[1]) not in seen_items]
|
and (x, excuses[x].ver[1]) not in seen_items]
|
||||||
items.extend(new_items)
|
items.extend(new_items)
|
||||||
seen_items.update(new_items)
|
seen_items.update(new_items)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user