Yum, It’s Starting to Get Tasty

The release of Fedora 11 promises numerous new improvements. One such improvement is an updated and more efficient package manager. How does it compare to the previous release, version 10?

Test 3
Yum connects to the Internet to download the latest database of available packages. The following test is run on a database which is already updated, to avoid network latency issues.

Command
yum -y check-update

Cambridge result
real 0m3.450s
user 0m2.127s
sys 0m0.191s

Leonidas result
real 0m3.054s
user 0m1.343s
sys 0m0.217s

Conclusion
Once again Leonidas is a little faster.

Test 4
This command lists information about available packages.

Command
yum list

Cambridge result
real 0m7.030s
user 0m6.875s
sys 0m0.154s

Leonidas result
real 0m6.082s
user 0m5.811s
sys 0m0.270s

Conclusion
Leonidas is about one second faster here. This might not sound like much, but it is when you consider it’s only a 6 second command!

Test 5
Yum has the ability to provide the name of a package which contains a particular file. Here, Yum is finding the package which includes the /etc/fstab file.

Command
yum provides /etc/fstab

Cambridge result
real 0m0.322s
user 0m0.176s
sys 0m0.062s

Leonidas result
real 0m0.327s
user 0m0.157s
sys 0m0.049s

Conclusion
Cambridge actually turns out to be ever so slightly faster here, but they are very close.

Test 6
Yum can query the local package database and search for packages based on their name, such as note taking program Gnote.

Command
yum search gnote

Cambridge result
real 0m0.461s
user 0m0.358s
sys 0m0.080s

Leonidas result
real 0m0.400s
user 0m0.308s
sys 0m0.092s

Conclusion
Not much difference here either, although Leonidas does come out slightly on top.

Test 7
Users can tell Yum to remove programs from the local system, including all their dependencies. Here we are removing Mono, Novell’s implementation of Microsoft’s .NET framework. This will also remove all programs which require Mono, such as note taking program Tomboy and photo manager F-spot.

Command
yum -y erase mono-\*

Removed:
mono-addins.i586 0:0.4-6.20091702svn127062.1.fc11 mono-core.i586 0:2.4-19.fc11 mono-data.i586 0:2.4-19.fc11
mono-data-sqlite.i586 0:2.4-19.fc11 mono-extras.i586 0:2.4-19.fc11 mono-web.i586 0:2.4-19.fc11
mono-winforms.i586 0:2.4-19.fc11

Dependency Removed:
f-spot.i586 0:0.5.0.3-8.fc11 gnome-desktop-sharp.i586 0:2.26.0-1.fc11 gnome-sharp.i586 0:2.24.0-3.fc11
gtk-sharp2.i586 0:2.12.7-4.fc11 monodoc.i586 0:2.4-19.fc11 ndesk-dbus.i586 0:0.6.1a-4.fc11
ndesk-dbus-glib.i586 0:0.4.1-4.fc11 tomboy.i586 0:0.14.1-2.fc11

Cambridge result
real 0m32.508s
user 0m6.331s
sys 0m1.454s

Leonidas result
real 0m28.339s
user 0m5.023s
sys 0m1.253s

Conclusion
This is where Leonidas starts to show its prowess over Cambridge as removing all 15 packages was over 4 seconds faster.

Test 8
Of course, one of the major features of Yum is the ability to install packages and their dependencies. Here we install note taking program Gnote, the C++ port of the .NET program Tomboy. The package pulls in 5 dependencies. Binaries were pre-fetched (thanks to the yum-downloadonly package) to bypass any network latency issues.

Command
yum install gnote

Installed:
gnote.i586 0:0.3.1-1.fc11

Dependency Installed:
boost.i586 0:1.37.0-6.fc11 gconfmm26.i586 0:2.24.0-2.fc11 libgnomemm26.i586 0:2.26.0-1 libpanelappletmm.i586 0:2.22.0-3.fc11
libxml++.i586 0:2.26.0-1.fc11

Cambridge result
real 0m22.261s
user 0m5.420s
sys 0m1.165s

Leonidas result
real 0m21.769s
user 0m4.200s
sys 0m1.082s

Conclusion
Once again, Leonidas was a little faster at installing these packages over Cambridge. The total for these 6 packages under Cambridge was only 4MB, while under Leonidas it was actually 6MB. That’s 50% larger, but it still installed faster.

Yum is a wrapper for RPM and it does appear to have benefited from the update to version 4.7.0 with Leonidas. The performance gains are very modest however and most users will not see a great deal of difference between the two systems. At least, that’s with the light usage seen here. The memory performance increases are reported to go hand in hand with larger transactions and so usage on a grander scale may of course show further improvements. Indeed the majority of performance improvements under Cambridge may actually be a result of the newer kernel and other libraries, rather than RPM 4.7.0 itself. A system with the ext4 file system may also see further performance increases. Either way, Leonidas does edge out Cambridge even if by a slim margin.

Overall, Yum is quite a powerful package manager and with the new presto plug-in should be more considerate of overall network bandwidth. Is Leonidas worth the update simply for the much improved package manager? Probably not, but there are plenty of other reasons to upgrade.

Christopher Smart has been using Linux since 1999. In 2005 he created Kororaa Linux, which delivered the world's first Live CD showcasing 3D desktop effects. He also founded the MakeTheMove website, which introduces users to free software and encourages them to switch. In his spare time he enjoys writing articles on free software.

Comments on "Yum, It’s Starting to Get Tasty"

robinbowes

“This is where Leonidas starts to show its prowess over Cambridge as removing all 15 packages was over 4 seconds faster.”

Hrm, 28 secs vs. 32 secs.

Hardly earth-shattering, is it?

Reply
voidmain

As a Debian/Ubuntu/Mint user, a comparison with APT (what we debs consider the current king of package management) would be nice.

Reply
robinbowes

PS. The comment count is one out.

I see two comments, yet the title says “3 comments on Yum…”

*This* is the third comment!

Reply
jsilve1

Is this article interesting to anyone? It is not poorly written, it is just about as dull as you can get. The subject matter is dull, I guess, but even that could have been made more interesting by comparing it to the other mentioned package manages (urpmi, Zypper, Apt-get, et. al.), perhaps. Or maybe just having this article be a subsection in a larger article about Fedora 11.

Sometimes, Linux-Mag, you are just plain boring. Sorry. True.

Reply
hallmarc

Clearly Mr. Smart does not know how to conduct performance analyses. Yes, this article may give the casual user a sense of “Leonidas has improved things,” but it’s hardly useful for anything else. Does anyone actually need to see the output of _yum_ and _time_ for this article? No. That space is better utilized by giving us a single table with the relevant statistics. And please, show us percentages, e.g., the removal of mono represents a 13% improvement, and _always_ conduct multiple test runs to increase the validity of your findings (be careful to avoid caching effects). I would argue in this case that wall clock time is the only thing that matters to the majority of Linux Magazine readers, because they are not doing massive package installs and uninstalls on a regular basis. The sys time would be important if yum were constantly updating packages in the background and hammering CPU capacity…but it doesn’t.

Reply
ctryon

I’ve used Fedora since, well, since it was still called Red Hat, and one of the very few things that I really hate in the distribution is the horrendous Add/Remove Software GUI they run on top of RPM/yum. It’s so bad I don’t even remember what it is called, since I always use the command line. I’m not sure why they can’t take a simple look at the package manager in either Ubuntu or SUSE, either one of which is light-years ahead of the Fedora manager. The search function is useless, and even if you find something, it doesn’t tell you much about what the packages are. If you actually install something, it doesn’t give you any feedback as to what is happening (if anything IS happening), or even what dependencies it’s installing for you! Some of this may be related to the underlying meta-data that the RPM system supplies compared to what is in the DEB packages.

Making RPM a little faster is always a good thing, but I’d like to see an overhaul of what the user actually does to interact with the packaging system

Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>