[Yum-devel] [PATCH 3/5] Eliminate linear search for names in callback

Panu Matilainen pmatilai at laiskiainen.org
Thu Feb 24 09:18:06 UTC 2011


We only care if the name has been seen so a dict works for the
purpose just as well and is faster.
---
 yum/rpmtrans.py |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/yum/rpmtrans.py b/yum/rpmtrans.py
index 30c9dd3..cf06e0f 100644
--- a/yum/rpmtrans.py
+++ b/yum/rpmtrans.py
@@ -178,7 +178,7 @@ class RPMTransaction:
         self.total_actions = 0
         self.total_installed = 0
         self.complete_actions = 0
-        self.installed_pkg_names = []
+        self.installed_pkg_names = {}
         self.total_removed = 0
         self.logger = logging.getLogger('yum.filelogging.RPMInstallCallback')
         self.filelog = False
@@ -426,7 +426,7 @@ class RPMTransaction:
                 if self.trans_running:
                     self.total_installed += 1
                     self.complete_actions += 1
-                    self.installed_pkg_names.append(hdr['name'])
+                    self.installed_pkg_names[hdr['name']] = None
                 return self.fd.fileno()
         else:
             self.display.errorlog("Error: No Header to INST_OPEN_FILE")
-- 
1.7.4



More information about the Yum-devel mailing list