On Thu, 2007-01-04 at 13:37 -0500, seth vidal wrote: > On Thu, 2007-01-04 at 12:53 -0500, seth vidal wrote: > > > yah - it's this call: > > > > > > self.up.rawobsoletes = self.pkgSack.returnObsoletes(newest=True) > > > > in doUpdatesSetup() > > > > It's creating 2 ListPackageSack Instances in each of these cases. I'm > > going to add a little debug timing info in here and try some > > optimizations. > > > > okay did a little more digging. > > when you call returnObsoletes() on a SqliteSack it does a sql call to > grab all the obsoletes at once and then it puts them into the dict it > needs as the return. Pretty straightforward. > > when you call returnObsoletes() on a ListPackageSack it iterates each of > the package objects's obsoletes lists and puts them into a dict. > > so we need to speed up the latter. I'm going to play as bit and see what > can be done.
I think I got it. Terje, Tim, please take a look at the patch here: https://lists.dulug.duke.edu/pipermail/yum-cvs-commits/2007-January/001255.html I did timing tests and it reduces the returnObsoletes call on my system from 30s to 3s -sv _______________________________________________ Yum-devel mailing list [email protected] https://lists.dulug.duke.edu/mailman/listinfo/yum-devel
