From 9505dddbcae925b9c513932f5149ad4ebbb7499a Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 9 May 2008 01:49:02 +0000 Subject: Optimize BlockerDB.findInstalledBlockers() so that it doesn't unnecessarily try to match packages against an empty set of blocker atoms. svn path=/main/trunk/; revision=10254 --- pym/_emerge/__init__.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'pym/_emerge') diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index e91abf182..1aff570d0 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -1608,13 +1608,14 @@ class BlockerDB(object): blocker_atoms = [atom[1:] for atom in atoms \ if atom.startswith("!")] - blocker_atoms = InternalPackageSet(initial_atoms=blocker_atoms) - for inst_pkg in installed_pkgs: - try: - blocker_atoms.iterAtomsForPackage(inst_pkg).next() - except (portage.exception.InvalidDependString, StopIteration): - continue - blocking_pkgs.add(inst_pkg) + if blocker_atoms: + blocker_atoms = InternalPackageSet(initial_atoms=blocker_atoms) + for inst_pkg in installed_pkgs: + try: + blocker_atoms.iterAtomsForPackage(inst_pkg).next() + except (portage.exception.InvalidDependString, StopIteration): + continue + blocking_pkgs.add(inst_pkg) return blocking_pkgs -- cgit v1.2.3-1-g7c22