Mi versión anterior, aunque no era falsa, era una simplificación rápida y escrita.
Cambiar de 32 a 64 bits no hará que su aplicación funcione automáticamente más rápido, en algunos casos puede llevar a lo contrario. En el lado "negativo" Hacer una desreferenciación de los punteros de memoria en la JVM puede llevar más tiempo con punteros de 64 bits que de 32 bits. Un recolector de basura completo y la compactación de un montón de 16 GB probablemente llevará más tiempo que con un montón de 2 GB.
En el lado positivo: Existen 64 bits de instrucciones del procesador que son más eficaces que las de 32 bits. 64 bit JVM le permitirá tener un tamaño de pila 2^32 veces más grande que, ligeramente menos que, 4 GB uno que puede obtener con 32 bit. (Si puede permitirse comprar esa cantidad de RAM) Algunas JVM pueden funcionar con referencias comprimidas si tiene un tamaño de pila inferior a 4 GB, lo que le da la ventaja de las instrucciones de 64 bits sin tener que pagar el precio de eliminación de 64 bits .
Si tiene una buena JVM, yo iría a 64 bits sin importar el tamaño del montón, solo prepárese para tener que dar un golpe de rendimiento por tener un gran montón.
¿No es un beneficio, al menos en Windows, la posibilidad de utilizar más memoria de aproximadamente 1,5 GB? Existe cierto límite para un proceso Java de 32 bits. http://mystyleit.com/blogs/mystyleit/archive/2009/05/27/32bit-windows-memory-and-java.aspx – Jonik
¿No son las últimas JVM de 64 bits un poco más inteligentes a la hora de asignar referencias? Es decir, utilizando solo referencias de 32 bits si no necesita el total de 64 bits. Creo que lo leí en alguna parte. –