From 07aa48c574cebac89ffff8f411d51dbdfee5c93b Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 30 Oct 2008 20:20:38 +0000 Subject: Avoid unnecessary aux_get calls inside Scheduler._pkg() by getting the existing Package instance from the digraph. svn path=/main/trunk/; revision=11752 --- pym/_emerge/__init__.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'pym/_emerge') diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 5b220c4b2..8e2df4d58 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -10345,6 +10345,13 @@ class Scheduler(PollScheduler): if installed: operation = "nomerge" + if self._digraph is not None: + # Reuse existing instance when available. + pkg = self._digraph.get( + (type_name, root_config.root, cpv, operation)) + if pkg is not None: + return pkg + tree_type = depgraph.pkg_tree_map[type_name] db = root_config.trees[tree_type].dbapi db_keys = list(self.trees[root_config.root][ @@ -10357,10 +10364,6 @@ class Scheduler(PollScheduler): settings.setcpv(pkg) pkg.metadata["USE"] = settings["PORTAGE_USE"] - if self._digraph is not None: - # Reuse existing instance when available. - pkg = self._digraph.get(pkg, pkg) - return pkg class MetadataRegen(PollScheduler): -- cgit v1.2.3-1-g7c22