Re: yum performance

Dimitrios Apostolou <[email protected]>
Newsgroups gmane.linux.rpm.yum
Message-ID <[email protected]>
On Thu, 13 Aug 2009, Dimitrios Apostolou wrote:

> Profiling after my changes seems that now the major slowdown is 
> simplePkgList()@rpmsack.py so it's worth concentrating the effort there.

I dug a little deeper on this one and am now certain that most CPU time is 
needed inside the dbMatch() iterator. Unfortunately this is as far as I 
can go since the whole rpm-python module is implemented in C. Nevertheless 
I'm wondering, why does a simple listing of ~2K packages needs about 5 
seconds. What format is the rpm database in? Wasn't there a big format 
change recently that improved the performance? Isn't "rpm -qa" the same as 
iterating over dbMatch() with no parameters? If so why there is so big 
difference:


$ time python yum/rpmsack.py >/dev/null

real	0m5.481s
user	0m3.568s
sys	0m1.222s


$ time rpm -qa > /dev/null

real	0m27.155s
user	0m22.924s
sys	0m1.506s


Thanks in advance,
Dimitris


P.S. In my previous email I forgot to mention that the usage of 
share_data()@misc.py is a slowdown since it is called many thousands 
times. Since it doesn't seem to provide an important memory advantage and 
it perplexes the code a lot, I have removed it wherever my patch applies. 
Indeed this saves some seconds of CPU time.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.