[clug] transcoding MythTV files to divx or DVD size

Cameron Patrick cameron at patrick.wattle.id.au
Wed Dec 13 07:28:52 GMT 2006

Michael Cohen wrote:

>   Have you got any figures on this? I seem to recall a talk in previous LCAs
>   which mentioned the performance benefits of 64bit vs. 32 bit platforms, and
>   the gist was that it wasnt a given that 64bit platforms are faster then 32
>   bit platforms. In fact depends on the work you are doing, it can be worse
>   because the code size is doubled (ints, pointers etc are twice as large -
>   which means more disk io/memory io etc).  Apparently risc processors dont
>   give much in terms of speed. I wonder how much would athelons gain in speed.

Right.  The real benefit AMD64 architecture isn't so much the 64-bit
registers (although that helps for anything that genuinely does do
64-bit integer arithmetic, such as cryptography), but the new floating
point architecture and having twice as many integer registers.  Also
note that all 64-bit architectures running Linux have 32-bit ints and
64-bit longs, 32-bit floats and 64-bit doubles.  Pointers are 64-bit,
and code size is typically slightly larger (due to an extra "64-bit"
prefix byte on AMD64 instructions), but this can be offset by needing
fewer instructions in the first place.

One test I remember running was a on a 6-series Pentium IV.  It ran some
custom floating-point-intensive code about 20% faster as "AMD64" than as
"i386".  Vague memories tell me that the Athlon 64s have even greater
performance boosts for 64-vs-32.

Test the applications you're going to be running before making any
assumptions, though.

The examples that you mentioned (MP3 encoding, dnetd) may turn out to be
special cases since their inner loops are likely to be written in
super-fast assembler for i386 and compiled as C code on AMD64.  If these
assembler routines are already using SSE and whatever else, there's not
likely to be much difference between the performance of 'optimal' i386
and AMD64 code.


More information about the linux mailing list