Comparing Yum and Zypper's memory footprint

Setup:

  • yum-3.4.3
  • zypper-1.6.16, libzypp-10.3.4
  • rpm-4.9.1.2
  • all tests are running in mock, there are two repos enabled for both yum and zypper: fedora and fedora-updates

Method:

The git repo with the exact scripts used to setup the mock environemnt with zypper and run the tests is at ssh://rpm.org/srv/projects/rpm/private/mock-mem.git .

System with 100 packages

massif (peak heap consumption):

yum, install less1 package28 770 kB
yum, install fpaste6 packages37 325 kB
yum, install eclipse336 packages60 693 kB
zypper, install less1 package32 342 kB
zypper, install fpaste6 packages32 342 kB
zypper, install eclipse329 packages32 741 kB

memusg (peak Resident Set Size sampled each 0.1 seconds):

yum, install less1 package55 836 kB
yum, install fpaste6 packages67 556 kB
yum, install eclipse336 packages265 016 kB
zypper, install less1 package53 756 kB
zypper, install fpaste6 packages60 572 kB
zypper, install eclipse329 packages178 540 kB

System with around 260 packages

  • package count: 259
  • /var/lib/rpm: 31M
  • /var/lib/rpm/Packages: 11M
  • /var/cache/zypp/solv: 13M
yum install octave octave-audio2 packages 66 416 kB
yum downgrade octave1 package 63 532 kB
yum update octave1 package 75 404 kB
yum erase octave2 packages 67 328 kB
zypper install octave octave-audio2 packages 83 660 kB
(zypper can't do downgrade)
zypper update octave1 package 70 128 kB
zypper rm octave2 packages 83 072 kB

System with around 3000 packages

  • /var/lib/rpm 197M
  • /var/lib/rpm/Packages 90M
  • /var/cache/zypp/solv 16M

memusg:

yum install octave octave-audio2 packages195 540 kB
yum downgrade octave1 package 232 972 kB
yum update octave1 package 249 536 kB
yum erase octave2 packages 227 200 kB
zypper install octave octave-audio2 packages 148 592 kB
(zypper can't do downgrade)
zypper update octave1 package 150 812 kB
zypper rm octave2 packages 145 004 kB

System with around 6000 packages

  • package count: 6008
  • /var/lib/rpm 322M
  • /var/lib/rpm/Packages 190M
  • /var/cache/zypp/solv 20M

memusg:

yum install octave octave-audio2 packages263 700 kB
yum downgrade octave1 package259 876 kB
yum update octave1 package279 292 kB
yum erase octave2 packages253 000 kB
zypper install octave octave-audio2 packages167 020 kB
(zypper can't do downgrade)
zypper update octave1 package159 356 kB
zypper rm octave2 packages170 152 kB

System with around 9300 packages

  • package count: 9294
  • /var/lib/rpm 456M
  • /var/lib/rpm/Packages 297M
  • /var/cache/zypp/solv 24M

memusg

yum install octave octave-audio2 packages288 488 kB
yum downgrade octave1 package285 044 kB
yum update octave1 package307 476 kB
yum erase octave2 packages278 388 kB
zypper install octave octave-audio2 packages184 052 kB
(zypper can't do downgrade)
zypper update octave1 package167 904 kB
zypper rm octave2 packages175 428 kB