¿Cuándo dejaron de mentir en los anuncios? ¿Me he perdido algo? ;-)
La principal ventaja de rendimiento es que en los sistemas de 64 bits, puede asignar más de 4 GB de RAM (en realidad en la mayoría de los sistemas que son más de 2 GB) sin intercambio. Esa es una gran ventaja de velocidad si la necesita.
Así que 64 bits ofrece una ventaja si tiene aplicaciones que necesitan mucha RAM (procesamiento de imágenes/video/audio, simulaciones mundiales/universales).
Además de eso, las CPU de 64 bits también tienen comandos que operan en tipos de datos de 64 bits (por lo que no es necesario emular aquellos con tipos de 32 bits). Eso también es una ventaja, pero a) no es tan grande porque los algoritmos necesitan usar esos tipos y la mayoría no b) son aún más lentos que los tipos de 32 bits (pero más rápidos que la emulación).
Para hacerte una idea, aquí hay una vieja broma de un tipo de superordenador: "Se tarda un día en cargar los datos de los discos, luego el programa tarda cinco minutos en procesar los datos y luego necesitamos otro día para guardarlos. el resultado para el disco ". Leer datos de la RAM es entre 1000 y 1000000 veces más rápido que un acceso al disco.
Así que en general, para el usuario promedio, un sistema de 64 bits tiene poca o ninguna ventaja.
¿Por qué la aplicación ocuparía el doble de RAM? En cuanto al espacio de registro, siempre puede usar las partes superior e inferior de un registro de 64 bits por separado. Por lo tanto, el uso juicioso de los registros debería resolver ese problema de forma natural. – TripShock
Sí, el doble de espacio es básicamente el peor de los casos. Pero incluso si necesita trabajar con valores mucho más pequeños que 32 bits como valores representados en un máximo de 16 bits, aún desperdicia la mitad del espacio de registro que si estuviera trabajando en una CPU de 32 bits. Y, en general, cuanto más grande es el registro, mayor es el desperdicio de memoria. De todos modos, imaginando que escribes tu código en algo más que ensamblador, estás a merced de las optimizaciones hechas por tu compilador ... y hay casos en que incluso un compilador óptimo hará que tu código use el doble de la memoria necesaria en la arquitectura de 32 bits –
@TripShock ... lea aquí para obtener más pruebas: http://en.wikipedia.org/wiki/64_bit#Pros_and_cons :) –