[yum-commits] Branch 'yum-3_2_X' - yum/sqlitesack.py

Ville Skyttä scop at osuosl.org
Fri Jan 29 15:46:54 UTC 2010


 yum/sqlitesack.py |   13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

New commits:
commit df6cf3503c91fc903c4b87b5c2a6e428ded8c094
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Thu Jan 28 23:43:49 2010 +0200

    Call repo.__hash__() less.
    
    On my (typicalish) Fedora 11 box, brings down number of those calls in
    a check-update run from ~146k to ~27k and speeds it up by ~7%.

diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
index 3169984..501fa59 100644
--- a/yum/sqlitesack.py
+++ b/yum/sqlitesack.py
@@ -564,10 +564,10 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
         return False
 
     def _pkgKeyExcluded(self, repo, pkgKey):
-        if repo in self._all_excludes:
+        if self._all_excludes and repo in self._all_excludes:
             return True
 
-        return (repo, pkgKey) in self._excludes
+        return self._excludes and (repo, pkgKey) in self._excludes
 
     def _pkgExcludedRKNEVRA(self, repo,pkgKey, n,e,v,r,a):
         ''' Main function to use for "can we use this package" question.
@@ -577,7 +577,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
                 . Tests addPackageExcluder() calls.
         '''
 
-        if (repo, pkgKey) in self._exclude_whitelist:
+        if self._exclude_whitelist and (repo,pkgKey) in self._exclude_whitelist:
             return False
 
         if self._pkgKeyExcluded(repo, pkgKey):
@@ -735,11 +735,12 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
             return the pkgtup. """
         if self._pkgExcludedRKD(repo, pkgKey, data):
             return None
-        if repo not in self._key2pkg:
+        prepo = self._key2pkg.get(repo)
+        if prepo is None:
             self._key2pkg[repo] = {}
             self._pkgname2pkgkeys[repo] = {}
-        if data['pkgKey'] in self._key2pkg.get(repo, {}):
-            return self._key2pkg[repo][data['pkgKey']].pkgtup
+        elif data['pkgKey'] in prepo:
+            return prepo[data['pkgKey']].pkgtup
         return (data['name'], data['arch'],
                 data['epoch'], data['version'], data['release'])
 


More information about the Yum-commits mailing list