Creo que la pregunta principal al elegir entre 32 y 64 bits no es "¿Mi procesador admite 64 bits? Si es así, debería usar 64 porque es el doble de bueno", sino "¿Cuánta memoria tengo?" .
Los programas de 64 bits usan aproximadamente un 50% más de memoria que sus contrapartes de 32 bits. Los resultados de esto son:
menos código / datos pueden caber en los cachés del procesador -> más errores de caché -> su procesador súper rápido espera más a que el controlador de memoria obtenga datos de la RAM. El procesador también necesita leer más datos porque está más hinchado.
Linux usa RAM no asignada para almacenar en caché los discos. Menos memoria libre disponible -> menos espacio para cachés de disco -> acceso de disco más lento
Una vez que se haya quedado sin RAM y el sistema comience a intercambiarse: el acceso al disco es miles de veces más lento que la RAM, por lo que cualquier beneficio potencial del código de 64 bits (ver más abajo) está desapareciendo.
Por otro lado, en el modo de 64 bits, el procesador tiene más registros, por lo que no es necesario acceder a la memoria que, a menudo, también, algunos cálculos (números de 64 bits, etc.) son más eficientes. Por lo tanto, generalmente, el código que no está restringido por la memoria se ejecuta un poco más rápido en el modo de 64 bits.
Entonces, si su sistema tiene, digamos, 2GiB de RAM o menos, definitivamente elegiría 32 bits. Más de 4GiB: los beneficios de 64 bits son cada vez más importantes. Alrededor de 4GiB es una "zona gris": debe elegir usted mismo.
Aquí hay capturas de pantalla de un Ubuntu vainilla (bastante antiguo) que se ejecuta en un VirtualBox con 1GiB RAM:
32 bits: usa 388 MiB de RAM justo después del arranque, no se ejecutan aplicaciones adicionales (de la captura de pantalla, 397780KiB, que es 388MiB)
64 bits: utiliza 491 MiB de RAM (de la captura de pantalla, 503452KiB = 491MiB)
Además, en mis pruebas, una aplicación web escrita en Python utilizó hasta un 60% más de memoria en una máquina de 64 bits, lo que resultó en un conjunto de pruebas que se ejecutó en 380 segundos en una máquina de 32 bits, pero que tardó 523 segundos en una máquina de 64 bits bit uno (ambos con 1GiB de RAM). Si las máquinas no estuvieran limitadas por RAM, los resultados probablemente serían diferentes (como muestran las pruebas de phoronix).
Aquí hay algunas pruebas más exhaustivas y recientes: http://kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods
Básicamente, es como renunciar al 30% de su RAM a cambio de una posible ganancia del 10% de velocidad de la CPU.