A While ago, I was doing my usual “preaching” about the merits of Linux in general and Ubuntu in particular. I was telling a friend about the modest system requirements of Linux and how efficient Linux is in preserving system resources. My friend is a professional who used to work on powerful workstations, so he quickly interrupted my “sermon” to ask a simple yet meaningful question:
So Linux does not need a high-spec machine to run, but what if you have got one? Does Linux utilize the extra resources to get the best out of such a machine? Or that the simple requirements mean less efficiency in terms of full-throttle performance.
Of course, I am fully aware of Linux modularity and I could easily answer with “yes” if my friend was asking about data centers or even super-computers. However, in the Desktop PC realm the answer is not straight forward (at least for me). This is because Desktop Linux distributions are based on a specific incarnation of the Linux kernel which is usually patched by each distribution’s development team. Other system elements are also built around the kernel to work on a wide variety of machines; so I truly wondered whether the same setup has enough scalability to drive any machine at full throttle.
Unfortunately, at the time, I only had a 3.0GHz Hyper-threaded Pentium 4 PC with only 1 GB of RAM and a 160 GB SATA hard drive. It is not fit for such a purpose at all. (After all, I am a Linux user and I didn’t feel any need for an upgrade.) But anyway, I decided to give it a shot and do a standardized test to compare the application performance between Ubuntu 7.10 and Windows XP (with SP3 RC installed).
I am aware that this test will not answer my friend’s question, but it doesn’t hurt to share its results with you. Even though I am preparing to conduct another test after I got a new PC with a dual-core CPU and modern chipset, in addition to having both Ubuntu 8.04 and Windows XP SP3 officially released.
- Intel Pentium 4 630 3.0 GHz FSB800 CPU
- 1 GB Dual-channel DDR400 RAM
- Asus P4P800 (intel 865PE) Mainboard
- ATI9600 AGP VGA card
- 160GB SATA150 Western Digital hard disk.
- RAR 3.71
- LAME MP3 encoder version 3.97
- GIMP 2.4.2
- Blender 2.45
- Avidemux 2.4
Single Task Benchmarks:
In these test, each application was individually run without any other applications running expect for system services. I repeated each test for several runs on clean start-ups and calculated the average time.
The test showed that Ubuntu 7.10 was tangibly faster than Windows XP SP3 RC in encoding and decoding MP3 files, but ironically slower in trans-coding MP3 files to a lower or a higher quality. Linux version of GIMP graphics creation software dwarfed its Windows counterpart which, I think, reflects the way in which GIMP is ported to Windows rather than a Windows performance deficiency. All other tests gave Windows XP a slight advantage over Ubuntu 7.10 with the exception of Avidemux where Windows outperformed Ubuntu by about 18% (The test was converting a standard MPEG2 DVB stream into H.264/AAC MP4 file.)
Next, I created a batch file to run all the tasks of the above test (but with a different set of files) simultaneously. I also repeated the test several times to get the average time of each task.
This type of tests usually reveals two things: The first is how applications perform in a multi-tasking environment, and the second is by how much each application’s performance decreases in comparison with the single-task setup. Of course, multi-tasking tests are generally more important in the real life because most users and most operating systems run more than one piece of software at the same time. A classic example in Windows would be having an AntiVirus program running all the time in the background, or it simply could be productivity software running along with a music player, a web browser or even a chat client.
In my test, if we look at the absolute times of applications, we can see that Ubuntu 7.10 preserved its lead in MP3 encoding and decoding tasks, while it kept falling behind in MP3 down-sampling tests. However, Ubuntu gained over some tests like the RAR archive compression (by a substantial margin), and the Blender rendering speed test. On the other hand, Windows XP SP3 RC maintained its lead in the Avidemux DV to H.264 video trans-coding test and barely edged Ubuntu in the RAR decompression test.
Again, GIMP in Ubuntu was more than 200% faster than in Windows, which rendered this test worthless in terms of OS performance comparison.
To inspect the multi-tasking impact of the applications performance, I had to run the mono-tasking and multi-tasking tests on an identical set of files. The test revealed that both operating systems suffered badly under my test’s excessive multi-tasking load. The average increase in test time was well above 200% with RAR compression and LAME MP3 encoding tests were both more than 390% slower.
Ubuntu 7.10 was a clear winner of this round, as it managed to beat Windows in most tests in terms of test time change from single to multi-tasking setups. The only two exceptions were MP3 decoding and trans-coding were Windows XP suffered less relative damage than Ubuntu (however Ubuntu was faster in decoding MP3 files in absolute numbers.) It’s worth reminding you that I used an old Pentium 4 single-core processor, and it is expected that modern multi-core CPUs should perform much better in multi-tasking tests. Therefore, my test is not representative of what may happen with the two operating systems on current-day PCs.
Finally, I reiterate that my test was not ideal in many aspects, but on the other hand, it was conclusive in one important aspect that Ubuntu 7.10 is undoubtedly better than Windows in multi-tasking. This confirms that Ubutnu manages system resources better than Windows under extreme multi-tasking workload which, in turn, reasserts what we all know about Linux scalability. To say anything more than this, I need to repeat my test on a high-spec machine and to expand it to cover more applications. I’ll try to do that as soon as possible.