|
Linux Kernel Comparison: 2.6.4 vs. 2.4.25 - Configuration Let's list the software
installed on my test machine including version numbers. 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. :-)
|