Thursday, February 18, 2010

JBoss Developer Studio performance optimizations (amazing speed improvements)

Working in a virtualized environment and very sick of the slow JBDS startups, we went looking for some help in the settings. Here is what we found:

The tricks is to use the optimization done in JDK 1.6 (VMarg2) and the new agresivity of the Just In Time compiler (JIT) for VMarg3. Add theses VM arguments to eclipse.ini (file is located in your Eclipse directory, one to each line)
 
-XX:-UseParallelGC 
-XX:+AggressiveOpts 
-XX:-UseConcMarkSweepGC

What are these doing:
VMarg1 -XX:-UseParallelGC Use parallel garbage collection for scavenges. (Introduced in 1.4.1) this will create more threads running in parallel, so the second processor will be put in use
VMarg2 -XX:-UseConcMarkSweepGC Use concurrent mark-sweep collection for the old generation. (Introduced in 1.4.1) The Eclipse GUI will feel more responsive as memory will be reclaimed without blocking VM executions.
VMarg3 -XX:+AggressiveOpts Turn on point performance compiler optimizations that are expected to be default in upcoming releases. (Introduced in 5.0 update 6.)