Friday, April 17, 2009

UseCompressedOops

I 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: 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.

No comments: