On Thu, 2007-01-04 at 12:42 -0500, seth vidal wrote: > On Thu, 2007-01-04 at 18:31 +0100, Tim Lauridsen wrote: > > Terje Rosten wrote: > > > * seth vidal > > > | > > > | If no one sees anything brazen and stupid by friday I'll put out a 3.0.3 > > > | to fix this up. > > > > > > I might found one more bug, I did some profiling (howto coming soon) > > > to discover the issue. > > > > > > It's a performance issue, yum 3.0.2 is spending lots of time (70%) in > > > the returnObsoletes function. > > > > > > To understand the problem have a look at these callgraphs: > > > > > > http://web.phys.ntnu.no/~terjeros/yum/yum-3.0.2-callgraph.png > > > > > > http://web.phys.ntnu.no/~terjeros/yum/yum-3.0.1-callgraph.png > > > > > > generated by a simple 'yum install xpdf'. > > > > > > The kcachegrind files is available here: > > > > > > http://web.phys.ntnu.no/~terjeros/yum/ > > > > > > > > > - Terje > > > _______________________________________________ > > > Yum-devel mailing list > > > [email protected] > > > https://lists.dulug.duke.edu/mailman/listinfo/yum-devel > > > > > I am seeing the same thing in yumex after upgrading yum to 3.0.2, it > > added about 1 min to the package list creation. > > > > I add some extra debug output to yumex and found out that it was > > doUpdateSetup there is the problem. > > > > output from yumex: > > > > yum 3.0.1 > > 16:02:59 : Building Package Lists : doRpmDBSetup > > 16:03:00 : Building Package Lists : doTsSetup > > 16:03:00 : Building Package Lists : doUpdateSetup > > 16:03:02 : Building Package Lists : Updates > > 16:03:03 : Building Package Lists : 27 Updates found > > > > yum 3.0.2 > > 16:05:56 : Building Package Lists : Start > > 16:05:56 : Building Package Lists : doRpmDBSetup > > 16:05:56 : Building Package Lists : doTsSetup > > 16:05:56 : Building Package Lists : doUpdateSetup > > 16:06:58 : Building Package Lists : Updates > > 16:06:59 : Building Package Lists : 27 Updates found > > 16:06:59 : Building Package Lists completed > > > > I was looking through the patches applied to 3.0.2 and I think I have an > idea where this is happening. Let me do some more testing and I'll > respond back. >
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. -sv _______________________________________________ Yum-devel mailing list [email protected] https://lists.dulug.duke.edu/mailman/listinfo/yum-devel
