Friday, April 24, 2009

UseCompressedOops

learned of a nifty Hotspot option recently, -XX:+UseCompressedOops
It sounds like this largely solves the bloat problem that happens when you go from 32-bit to 64-bit with Java as this option tells Hotspot to allow heap sizes up to 32 gig, use the eight extra registers that are available with AMD64 and to use 32-bit pointers/references whenever possible to limit bloat. From what I've heard, tests indicate that the bloat is much smaller (~10% compared to the 50%+ you get with vanilla 64-bit) and performance is comparable. Here's a longer post by Ismael Juma to fill you in on the details:

32-bit or 64-bit JVM? How about a Hybrid?

Note that, as of recently, this option was only available in the Hotspot "performance" release, but is slated to be added to the main release.

1 comment:

Unknown said...
This comment has been removed by the author.