Моя предыдущая версия, хотя и не ложная, была быстро написанным упрощением.
Изменение с 32 на 64 бита не приведет к автоматическому ускорению работы приложения, а в некоторых случаях может привести к обратному.
На «отрицательной» стороне
Выполнение разыменования указателей памяти в JVM может занять больше времени с 64-разрядными указателями, чем 32-разрядными.
Полная сборка мусора и сжатие кучи размером 16 ГБ, вероятно, займет больше времени, чем при использовании кучи объемом 2 ГБ.
С положительной стороны:
Есть 64-битные инструкции процессора, которые более эффективны, чем 32-битные.
64-битная JVM позволит вам иметь размер кучи в 2 ^ 32 раз больше, чем чуть меньше 4 ГБ, которую вы можете получить с 32-битной. (Если вы можете позволить себе купить такое количество оперативной памяти)
Некоторые JVM могут работать со сжатыми ссылками, если размер кучи меньше 4 ГБ, что дает вам преимущество 64-битных инструкций без необходимости платить за 64-битную разыменование.
Если у вас хорошая JVM, я бы выбрал 64 бита независимо от размера кучи, просто будьте готовы к тому, что вам может потребоваться снижение производительности для получения действительно большой кучи.