Hello people! I have question that's on my mind for some time now: Does i686-optimized packages really give us improved performance over some of our i386-optimized cousins?
In most cases they don't. The additional post-i386 instructions are mostly limited to things such as atomic locking, SMP support, and so on. Therefore, only packages such as kernel and/or GNU C library benefit from being compiled as i586/i686. Normal applications do not use atomic locking directly (they use API calls to things such as POSIX mutexes, that are implemented inside C library), and really don't need SMP specific instructions (those things are handled by the kernel and C library).
Of course, when we move to AMD64, it is completely different story. For that platform, there is benefit if we want to utilize 64-bit data types, so we have almost all packages recompiled specifically for that platform. Although, I would be much happier if Linux folks took approach from Digital Unix for Alpha processors and/or the approach OpenBSD folks have for 64 bit processors, and not the one from 64-bit Solaris (where there's also that terrible mix of 32-bit and 64-bit stuff). IMO, wanna run 64-bit, do it clean, don't mix and match.
-- Aleksandar Milivojevic <amilivojevic@xxxxxx> Pollard Banknote Limited Systems Administrator 1499 Buffalo Place Tel: (204) 474-2323 ext 276 Winnipeg, MB R3T 1L7