Having finally an AMD64 system in my hands, I’m positively surprised by its performance. When I switched from a Duron 650 MHz to a Celeron 2.6 GHz a few years ago, the performance increased much less than I expected. This applied to Sempron 2400+ (~1.6 GHz?, Socket A) as well, it ran only slightly faster than the Celeron. The increase in performance was significantly lower than increase of the (AMD) CPU frequency. After that experience and having read some articles about current processors and 64-bit systems, I didn’t expect too much from an upgrade to Athlon64 X2 3800+ (2.0 GHz), despite AMD64 users around me reported great performance with their AMD64 systems.
Surprisingly, according to my first tests GNU/Linux runs about 2-3 times faster on the Athlon64 than on the Celeron (measuring single processes). The overall user experience confirms the timings, e.g. Firefox doesn’t feel like a terrible CPU hog now. I can think about the following reasons for the great performance:
- CPU+bus PC technology finally improved in such a way that it can deliver much better performance with the same CPU clock frequency.
- The 64-bit mode is faster than 32-bits on AMD.
- 32-bit system binaries are compiled for a general i386 architecture, while the 64-bit system is optimized directly for the target architecture in Debian.
Overall Athlon64 at 2.0 GHz seems to be very roughly about 5 times faster than the 6 year old Duron at 650 MHz, which means that the performance increased more than the CPU frequency. Cool.
As for the dual core performance, it seems to serve its purpose. Of course, don’t expect it to speed up your single tasks. At best you can try to run ‘make -j3′ on ‘make’ based build systems. If you’re lucky, your compilation time can decrease to almost half the standard compilation time, but you may face two problems: 1. Not everything can be built in parallel (e.g. speed improvement of Emacs compilation is only about 10%, since the Lisp part compilation is not parallelized); 2. Conflicts can occur in parallel compilation (as happened to me at least twice – in Emacs and in Festival), forcing you to manually restart the compilation. Well, I don’t use Gentoo nor run a Debian builder machine so compilation time tuning is not that important to me.
The real benefit of the dual core architecture on a mixed desktop/server system is that background tasks run without disturbing your interactive work. You no longer need fear to run big rsync tasks (such as backup) or multimedia processing on background while doing unrelated interactive work. (This is something to be appreciated with the current state of software when one should buy a strong machine just to use a modern web browser comfortably.) So far it works well, but I must wait until the machine gets into its full service before making my final statement about saving time, patience and coffee.