Making Eclipse Fly

When compared to NetBeans, I find that Eclipse is a lot slower, particularly when doing enterprise development. To try and speed Eclipse up, I’ve taken the JVM settings that NetBeans uses and applied them to Eclipse. The result is a vast improvement in performance. The default JVM settings in Eclipse aren’t optimal.

On a Mac, the following procedure allows the JVM settings to be changed:

  • Find Eclipse in the Finder. Right click on Eclipse and choose "Show Package Contents"
  • Browse to the Contents | MacOS directory and edit the eclipse.ini file
  • In this file add JVM options, one per line.

The JVM options that make the biggest difference are the ones that specify how much memory Eclipse can use.

-Xms512m 
-Xmx512m 
-XX:PermSize=256m 
-XX:MaxPermSize=256m

I also tell the JVM not to verify bytecode using the -Xverify switch

-Xverify:none

According to the NetBeans performance tuning tips, changing the garbage collection policies can also make a difference. I’m not sure that these make much of a difference, but I’m running with them at the moment to see if there is any difference.

-XX:+UseConcMarkSweepGC 
-XX:+CMSClassUnloadingEnabled 
-XX:+CMSPermGenSweepingEnabled

Applying these switches has made Eclipse much more comfortable to use, but I guess other peoples mileage may differ depending on what they are doing or what machine they are using.

Do you have any other JVM switches that you apply to IDEs to make them more responsive?