-Xcompressedrefs performance

John Coomes John.Coomes at sun.com
Wed Mar 11 12:40:45 PDT 2009


Jarkko Lietolahti (jarkko.lietolahti at jab.fi) wrote:
> Hello,
>  I originally posted this to hotspot-gc-use at openjdk.java.net.
>  I just noticed that using -Xcompressedrefs causes bad performance issues.
> This seems to be related to hotspot compiling. With -Xcompressedrefs my app
> takes over 3 minutes to start and after removing only -Xcompressedrefs it
> takes 1 minute and 23 seconds to start. So the issue seems to be related to
> the flag -Xcompressedrefs.
> 
> java version "1.6.0_0"
> OpenJDK Runtime Environment (IcedTea6 1.4.1) (6b14-1.4.1-0ubuntu3)
> OpenJDK 64-Bit Server VM (build 14.0-b08, mixed mode)
> 
> Anyone else noticed something similar?

AFAICT, -Xcompressedrefs is an option supported by the IBM virtual
machine, not the Sun and OpenJDK VMs.  What I think is happening is
that -Xcompressedrefs is being interpreted as -Xcomp, which is
recognized by the Sun & OpenJDK VMs (we should be more strict in our
argument parsing and reject -Xcompressedrefs).  -Xcomp means JIT
compile every method the first time it is invoked.  The longer startup
time you're seeing with -Xcomp is expected.

When running in -Xcomp mode, the version string should say "compiled
mode":

$ java -Xcompextrajunkthatisignored -version              
java version "1.7.0-ea"
Java(TM) SE Runtime Environment (build 1.7.0-ea-b48)
Java HotSpot(TM) Server VM (build 15.0-b01, compiled mode)
                                            ^^^^^^^^^^^^^

-John




More information about the hotspot-dev mailing list