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:
- measuring peak RSS with memusg from https://gist.github.com/526585/be4a49e3b62104361a412ed29d1a410a6f8c92ec
- for some runs I also took a measurement with massif (a valgrind tool, http://valgrind.org/docs/manual/ms-manual.html)
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 less | 1 package | 28 770 kB |
| yum, install fpaste | 6 packages | 37 325 kB |
| yum, install eclipse | 336 packages | 60 693 kB |
| zypper, install less | 1 package | 32 342 kB |
| zypper, install fpaste | 6 packages | 32 342 kB |
| zypper, install eclipse | 329 packages | 32 741 kB |
memusg (peak Resident Set Size sampled each 0.1 seconds):
| yum, install less | 1 package | 55 836 kB |
| yum, install fpaste | 6 packages | 67 556 kB |
| yum, install eclipse | 336 packages | 265 016 kB |
| zypper, install less | 1 package | 53 756 kB |
| zypper, install fpaste | 6 packages | 60 572 kB |
| zypper, install eclipse | 329 packages | 178 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-audio | 2 packages | 66 416 kB |
| yum downgrade octave | 1 package | 63 532 kB |
| yum update octave | 1 package | 75 404 kB |
| yum erase octave | 2 packages | 67 328 kB |
| zypper install octave octave-audio | 2 packages | 83 660 kB |
| (zypper can't do downgrade) | ||
| zypper update octave | 1 package | 70 128 kB |
| zypper rm octave | 2 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-audio | 2 packages | 195 540 kB |
| yum downgrade octave | 1 package | 232 972 kB |
| yum update octave | 1 package | 249 536 kB |
| yum erase octave | 2 packages | 227 200 kB |
| zypper install octave octave-audio | 2 packages | 148 592 kB |
| (zypper can't do downgrade) | ||
| zypper update octave | 1 package | 150 812 kB |
| zypper rm octave | 2 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-audio | 2 packages | 263 700 kB |
| yum downgrade octave | 1 package | 259 876 kB |
| yum update octave | 1 package | 279 292 kB |
| yum erase octave | 2 packages | 253 000 kB |
| zypper install octave octave-audio | 2 packages | 167 020 kB |
| (zypper can't do downgrade) | ||
| zypper update octave | 1 package | 159 356 kB |
| zypper rm octave | 2 packages | 170 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-audio | 2 packages | 288 488 kB |
| yum downgrade octave | 1 package | 285 044 kB |
| yum update octave | 1 package | 307 476 kB |
| yum erase octave | 2 packages | 278 388 kB |
| zypper install octave octave-audio | 2 packages | 184 052 kB |
| (zypper can't do downgrade) | ||
| zypper update octave | 1 package | 167 904 kB |
| zypper rm octave | 2 packages | 175 428 kB |

