Linux Kernel Comparison: 2.6.4 vs. 2.4.25 - Configuration
Published on 2004-03-29 01:00:00 By: Jim_

Let's list the software installed on my test machine including version numbers.

  • Operating System: Gentoo Linux 1.4.3.13
  • Kernel version: 2.6.4 (.config) and 2.4.25 (.config)
  • GCC version: 3.3.3 / glibc version: 2.3.3
  • Apache version: 1.3.29 (./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a)
  • MySQL version: 4.0.18 (./configure --with-low-memory --with-mysqld-user=mysql)
  • PHP version: 4.3.4 (./configure --enable-track-vars --with-mysql --with-apache=../apache_1.3.29 --with-gd)

The following CFLAGS were used: "-O3 -march=pentium4". Apache, MySQL and PHP were compiled by hand because I'm anal and that's the way I've always done it. Let's get to the benchmarks!

It's important to note that I ran all of the benchmarks five times and averaged the results.

As I mentioned in my introduction, this article will mark the first appearance of picCOLOR. It's an image analysis program that runs from the Unix command-line and runs through various tests and ultimately spits out an overall score that's compared to their own reference system (1GHz Pentium 3 - score: 1.0).

I certainly didn't expect to see a loss for 2.6 right off the bat, but here we are. After quickly running this by Reinert, he let me know that they're still doing the majority of their testing on 2.4.x. As a result, he's not 100% sure why 2.6 would score lower here. He assumes it could be the result of how the new kernel does task switching and register saving with MMX/x87 registers. I'm going to send him the output from my benchmark runs and hopefully he'll be able to go into this in further detail in the future. Once I know more, look for a short update in this section of the article.

A large portion of Linux users spend a large portion of their time compiling code, so taking a look at how each kernel handles compiling performance seemed to make sense. Of course, compiling can be largely disk bound, but since there are plenty of other factors (memory management, file system performance, etc) I decided to include the results anyways. I took the source code for MySQL and compiled it with a 'make -j 4' with both kernels. The results ended up being ridiculously close, with 2.4.25 taking a slight lead.

BladeEnc made a reasonable impression on me in my Linux Hyper-Threading article, so I decided to include it once again here. A lot of people out there are running Linux on the desktop and I'm sure audio encoding performance is something a lot of you are probably curious about. Here we see Linux 2.4.25 pulling out a minor victory once again. One second isn't exactly a huge gap, but this was averaged over five runs, so I will have to give the nod to the venerable 2.4 kernel here.

Let's now move on to the more server-oriented testing. This is what I consider the fun part. :-)

[ Back to Page 1 ]
 
[ Next to Page 3 ]