Optimizing for AMD64
The AMD64 (x86_64) platform has several advantages for audio work, despite most
audio processing being done with 32-bit data. The performance lost by having to
work with 64-bit addresses is more than cancelled out by the increased number
of registers in the processor, and the x86_64 ABI specification ensures that
the extra registers are used. Another factor that increases performance is that
all of the AMD64 linux distributions are optimised specifically for that
platform.
This is in contrast to the 32-bit distros (apart from Gentoo), which only use
the 386 or 586 instruction sets for nearly all of the binaries apart from the
kernel.
JACK
AMD64 users should use JACK 0.100.7 or later as it includes the dynsimd
optimizations (previous versions only allowed this on x86) which boost
performance in certain situations.
Users of AMD64x2 (dual-core) CPUs will need to use JACK 0.102.20 or later
(or use the -clockfix branch of earlier JACK versions).
This works around the problem of the Time Stamp
Counters on these CPUs running out of sync and confusing jackd. It isn't
necessary with multiple single-core AMD64 CPUs.
JACK 0.102.20 also includes
MMAP_COMPLEX support, which is needed to use more than one interleaved-type
sound card (ie. anything other than RME).
Ardour
Ardour 2.0.x works fine on the AMD64 platform. Users of the 0.99.x
versions should use 0.99.2 or later, as previous versions did not
use AMD64 assembly code optimizations (and suffer a performance penalty as a
result).