Originally Posted by walford
The prionciple reason for most users to run 64bit today is to have an operating system that runs fasster and that can move data faster. If you have applications that will run faster in more the 4GB oif memory then you should have 64bit since 32bit can not support an application using then more then 4GB of RAM. Of couse as indiividual applicastions are being converted to 64 bit they too will run faster on as 64bit system with a 64bit OS.
except that 64bit is slower and bigger (except when it isn't).
In a 64bit app, every variable a programmer uses now needs 64bits instead of 32 bits. This doubling of bit width means getting that information out of memory, or out of cache will take twice as long.
Even a app compiled explictly for 64bit won't neessacrily run faster.
64bit has 3 main advantages things:
-Expands the memory map beyond 2gb per process to 4gb even for 32bit apps, and goes to 64bit for native apps.
-Can do 64bit math in a single clock cylce.
-Doubles the number of registers available to the CPU per AMD's x64 extensions.
64bit has 2 main disadvatanges:
-drivers need to be rewritten for 64bit.
-Native 64bit pointers are twice as big as 32bit pointers and thus consume twice the memory and bandwidth to move around.
It's a trade off.