[Yum-devel] yum 3.0.2

seth vidal skvidal at linux.duke.edu
Thu Jan 4 20:05:01 UTC 2007


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





More information about the Yum-devel mailing list