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"
“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?
As a Debian/Ubuntu/Mint user, a comparison with APT (what we debs consider the current king of package management) would be nice.
PS. The comment count is one out.
I see two comments, yet the title says “3 comments on Yum…”
*This* is the third comment!
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.
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.
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