not idle

With all the regression bugs in recent kernel releases I had my doubts whether to update my desktop Ubuntu 9.04 Jaunty Jackalope installation to the latest 9.10 Karmic Koala. I’ve read several comparisons between 9.04 and 9.10, but usually those benchmarks use the default (and clean) installations, which in the case of 9.10 brings the EXT4 file-system instead of the EXT3, which yells expected improvements. I wanted to know how would Ubuntu 9.10 compare to the previous version after an update, without updating the file-system.

To do that I used a very recommendable open-source benchmark solution for linux named Phoronix Test Suite, by the Phoronix technical site I really like. I choose the stable 2.0.0 version instead of the 2.2.0 beta because I didn’t feel like investing too much time in any possible eventuality. Even though these are somewhat synthetic tests, there is currently no other way to measure desktop performance.

Thus, I ran the “linux-system” suite (a predefined compound of general purpose tests) before and after upgrading my box. Let me also note that my Linux box was clean installed with Ubuntu 8.04 when it was released, and the upgraded to 8.10 and 9.04 before finally upgrading to 9.10.

My box is an Intel Core 2 Duo CPU E8400 @ 2.99GHz, Intel DP35DP, 82G33/G31/P35/P31 + ICH9R, with 2GB RAM and a 500GB WDC WD5000AACS-0 , and a GeForce 8600 GT 512MB (540/400MHz). My Ubuntu 9.04 install had kernel 2.6.28-16-generic, gcc 4.3.3, GNOME 2.26.1 and X.Org Server 1.6.0, plus I was using the NVIDIA’s 180.44 propietary driver. With 9.10 it now uses kernel 2.6.31, GNOME 2.28.0, X.Org 1.6.4 and GCC 4.4.1, with NVIDIA 185.18.36.

Here are the raw results:

test unit 9.04 9.10 Improvement
Apache static page serving req/sec 7797.81 14709.84 89%
Lame wav to mp3 seconds 35.97 32.98 8%
OGG wav to ogg seconds 21.24 19.92 6%
Ffmpeg AVI to NTSC VCD seconds 19.40 17.82 8%
GnuPG 2Gb encryption seconds 64.59 50.96 21%
GMPBench score point 3339.45 4510.75 35%
C-Ray seconds 358.30 362.78 −1%
POV-Ray seconds 937.00 868.00 7%
MAFFT Alignment seconds 41.15 38.60 6%
HMMer search seconds 82.79 77.69 6%
I/O 64MB Write – 32 threads seconds 2568.33 2596.00 −1%
I/O 64MB Read – 32 threads seconds 1962.66 2842.66 −45%
PostMark – disk transactions TPS 163.00 221.50 36%
Dbench – 12 clients MB/s 43.69 133.71 206%
GraphicMagik – HWB space iter/min 77.33 87.33 13%
GraphicMagik – local adaptive threshold iter/min 29.00 28.00 −3%
OpenSSL – RSA 4096-bit sign/sec 34.05 34.72 2%
Crafty seconds 432.57 390.50 10%
Sunflow – global Illum & image synth seconds 12.35 11.65 6%
Sudokut seconds 46.62 41.52 11%
OpenFMM Nero2D seconds 941.73 970.40 −3%
dcraw – RAW to PPM seconds 37.88 34.86 8%
Minion seconds 107.29 103.76 3%
SQLite – 12,500 inserts seconds 25.11 26.93 −7%
PostgreSQL bench – TPC-b transacs TPS 692.92 849.26 23%

The results show one big regression (we’ll get back to it), 5 minor ones (<7%), 12 minor gains (<15%) and some impressive gains in 7, totalizing 25 test.

The most important gain is in dbench with a 206% improvement that, together with the 36% improvement with desktop-oriented PostMark, somehow invalidating the more synthetic 32-threaded 64MB reads regression. Apache static web page serving boast a 89% improvement.

Processing also seams to have improved with GMPBench yelling a 35% gain, 21% faster GnuPG encryptions and somewhat shorter multimedia encoding times (~7%). SQLite, used by several programs including FireFox, showed a bit of a regression by 7%, but professional database PostgreSQL showed 23% faster transactions.

The rest of the results are below 10% difference, and other losses are within 3%.

Conclusions? Seams like it's worth updating, even though, be warned, you often loose some configuration options in the process, I had to re-configure a couple of things, including Compiz options. Other unavoidable annoyances are changes in the default behaviour of programs, but if it was painless, then it wouldn't be Linux, right?

I'm going to dig a bit on the threaded-reads regression; I think I'll mount my partition with "noatime” and try running the tests again; will keep you updated.

Leave a Reply

Private