[Yum-devel] depsolving work
seth vidal
skvidal at linux.duke.edu
Wed Mar 21 07:36:52 UTC 2007
Some things I checked in that are the path to helping the depsolver
speed stop sucking
- the new depcheck object so we're don't have to return the
Tuple_of_doom from _mytsCheck() anymore. It's not wired up to be used,
yet, I'm working on that now. I think we should be able to implement the
tsDelta for the check inside self.dcobj (btw, a new attribute name is
welcome, I was just going with what I could think of)
- the change in rpmUtils.miscUtils.stringToVersion() - apparently
something was different than it used to be or this has been broken for a
long time. anyway - we were returning ('0', None, None) instead of
(None, None, None) for some versions.
- looking at the updating-package filelists to compare to
updated-package filelists and only compare the remaining set. This means
downloading the filelists but it also means speeding up the process a
fair bit.
the bottom two changes should have a dramatic impact in depsolving
performance. Specifically I tested a simple case:
yum update libX11
on my system this means pulling in libX11-devel, too.
A simple update, really.
All of these with a populated cache:
before:
2m24s
after:
8s
for:
yum update glibc (btw, this just eats it w/o the stringToVersion()
fix.)
before:
(it had run for 5minutes so I just ctrl-c'd it)
after:
19.5s
it's not too bad, but there's still 3 or 4 places to find some good
speed ups using the Delta stuff Florian and James presented some good
ideas on and by dumping out all of the Tuple_of_doom parsing
We should be able to get this down to an absolutely stupid small number,
I hope.
Tim, Terje and Florian in particular, please check out latest cvs and
let me know where it screws up.
Thanks,
-sv
More information about the Yum-devel
mailing list