While check compatibility between RPM on HEAD and in 5.2,
I needed to set my expectations regarding performance
improvements with wallclock and callgrind metrics.
The same database with ~1428 F12 packages was used.
Here are the wallclock measurements:
RPM-5.2
=======
$ sudo /usr/bin/time rpm --rebuilddb --nodigest --nosignature
19.10user 4.98system 1:43.45elapsed 23%CPU (0avgtext+0avgdata 0maxresident)k
42520inputs+1297696outputs (49major+25234minor)pagefaults 0swaps
RPM-HEAD
========
$ sudo /usr/bin/time rpm --rebuilddb --nodigest --nosignature
4.81user 4.31system 0:11.23elapsed 81%CPU (0avgtext+0avgdata 0maxresident)k
304inputs+1026088outputs (41major+29844minor)pagefaults 0swaps
So mebbe 9x faster so far (but note the caveat below)
Here are the callgrind measurements (the unit is instructions executed)
RPM-5.2
=======
--------------------------------------------------------------------------------
Ir
--------------------------------------------------------------------------------
55,170,952,774 PROGRAM TOTALS
RPM-HEAD
========
--------------------------------------------------------------------------------
Ir
--------------------------------------------------------------------------------
12,969,215,097 PROGRAM TOTALS
So mebbe 4x fewer instructions (but note the caveat below)
Caveat:
=======
The measurements aren't quite fair yet because rpm-5.2
is always checking signatures of header blobs added to an rpmdb even when
--nosignature and --nodigest are specified. So perhaps half
of the callgrind instructions are solely related to signature/digest
verification, ditto for wallclock metrics.
RPM on HEAD uses PROT_READ mmap(2) allocation. Since the memory
is hardware protected, there's little reason to verify either
digest or signature of header blob's, and so the code has been ripped.
There are also different indices created for RPM HEAD and 5.2, so I'm not
sure how informative the measurements are.
I needed to calibrate my own expectations of RPM performance improvements, nothing more.
73 de Jeff
Received on Thu Dec 3 19:05:00 2009