This is due to the fact that every native pointer in the system takes up 8 bytes instead of 4. The benefits of being able to address larger amounts of memory come with a small performance loss in 64-bit VMs versus running the same application on a 32-bit VM. (as an experiment, I've deleted the 32-bit versions and Minecraft still runs fine)ĬPU-bound Java apps will almost always run slower on 64-bit JVM, and Minecraft is no exception. And I can confirm that on my Linux 64-bit system, it loads the 64-bit version of those native Java libraries. Wait a minute! I talked code written in Java, but how about native libraries? Like OpenGL support and OpenAL? They are available on both 32-bit and 64-bit versions, and the correct version will be loaded. Related question on StackOverflow: Does Java 64bit perform better than the 32bit version? And if you have a 64-bit operating system, you should also go with a 64-bit Java Runtime for better performance (as other users already commented).īy the way, in my opinion, you should always go to 64-bit unless you have a very good reason to avoid it, like compatibility reasons (which is not this case). If you have more than 2GB or 3GB of RAM, your operating system should be 64-bit, else it won't access all RAM (or will have a considerable overhead doing so). On the other hand, since now pointers take up twice as much space, there is a little extra overhead for using 64-bit.īut you should also think about the operating system, as it will also take advantage of 64-bit improvements.
Basically, this means more general-purpose registers available ( 16 in 64-bit against 8 in 32-bit, which means better machine code and less RAM access, improving performance) and larger addressable memory. While Minecraft itself is not optimized for 64-bit, it will take advantage of JVM optimizations for 64-bit processors. Minecraft is written in Java, so it should "adapt" itself to both 32-bit and 64-bit systems (depending if you have a 32-bit or 64-bit Java runtime).