[Yum-devel] yum 3.0.2
seth vidal
skvidal at linux.duke.edu
Thu Jan 4 17:53:52 UTC 2007
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
> > > Yum-devel at linux.duke.edu
> > > 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
More information about the Yum-devel
mailing list