From: Zac Medico Date: Fri, 9 May 2008 01:49:28 +0000 (-0000) Subject: Optimize BlockerDB.findInstalledBlockers() so that it doesn't unnecessarily X-Git-Tag: v2.1.5~30 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f16b2b2183f22282727fc485cbc9ce715a72c857;p=portage.git Optimize BlockerDB.findInstalledBlockers() so that it doesn't unnecessarily try to match packages against an empty set of blocker atoms. (trunk r10254) svn path=/main/branches/2.1.2/; revision=10255 --- diff --git a/bin/emerge b/bin/emerge index ec395c6d2..02bcffc10 100755 --- a/bin/emerge +++ b/bin/emerge @@ -1750,13 +1750,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