The 64-Bit edition performs MUCH better than its 32-Bit sibling (labeled "x86"), and in my experience the difference is like day and night.
That's not *completely* true. As far as I can tell, having studied the micro-architectures, the main speed improvement arrives in the floating point department. This is also true, bot not so much, for integer operations.
When you are computing floating point, especially in a situation where there is iterative calculation like playing a movie, 32 bits of precision doesn't cut it. Rounding errors quickly accumulate and you have only a few significant bits of computation and the rest becomes noise. To combat this developers use "double" types which, funnily enough, use double precision at 64 bit.
This is bad for computation because for a 32 bit processor to compute an operation, like a multiply, on two 64 bit numbers, it has to dis-assemble the number. It then computes each 32 bit number and stitches everything back together. This takes 9 operations (on average) inside the processor instead of one.
If the code of the program is architecture aware then it will be able to detect at compile time what the target architecture is and decide whether it needs to use a float or double depending on the width of the architecture.
If however the code is poor then it will just use a double and not think twice about what architecture it is being deployed on. This means that on a 64 bit processor you will have 128 bit precision, which is always nice, but absolutely no speed improvement whatsoever.
In conclusion, code that is "processor aware" and "maths intensive" will run up to 9 times faster on a 64 bit processor. However, whilst most software these days can be considered "maths intensive", very little can be considered "processor aware".
It depends on the software you run but it can't slow you down at all.
HTH
Chris