On Tue, 2008-04-01 at 16:31 -0400, David Mansfield wrote: > On F8: > > [root@localhost ~]# time rpm -q gimp > gimp-2.4.4-1.fc8 > > real 0m0.102s > user 0m0.032s > sys 0m0.008s > > [root@localhost ~]# time yum -C list installed gimp > Installed Packages > gimp.i386 2:2.4.4-1.fc8 > installed > > real 0m3.450s > user 0m2.829s > sys 0m0.394s > > As you can see, it's about the same on my machine. on rawhide: time rpm -q gimp gimp-2.4.5-1.fc9.i386 real 0m0.222s user 0m0.093s sys 0m0.024s time yum -C list installed gimp Installed Packages gimp.i386 2:2.4.5-1.fc9 installed real 0m1.835s user 0m1.468s sys 0m0.181s Remember, yum isn't just executing a one call, it is doing A LOT more than rpm does. However, doing it in 1.8s seems pretty reasonable to me. And that's a pentium M speedstepped to 600mhz. here, I'll write a script that does just what rpm -q does using the yum modules: import yum my = yum.YumBase() for p in my.rpmdb.searchNevra(name='gimp'): print p time python foo.py 2:gimp-2.4.5-1.fc9.i386 real 0m0.711s user 0m0.533s sys 0m0.046s Of course that's not parsing any arguments, checking for any excludes or any other config a user may have set. Here I'll do it direct to the rpm python bindings: import rpm ts = rpm.TransactionSet() mi = ts.dbMatch('name', 'gimp') for h in mi: print '%s-%s-%s.%s' % (h['name'], h['version'], h['release'], h['arch']) time python foo.py gimp-2.4.5-1.fc9.i386 real 0m0.358s user 0m0.136s sys 0m0.024s Again - no parsing, no handling of all the oddball stuff that rpm spits back at you, and no integration with the rest of the interfaces we have to deal with. -sv -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list