I give it a ton of memory (add a -xMx whateverM switch to the command that starts it) and try to avoid quitting and restarting it- I find the worst delays are on startup, so giving it lots of RAM lets me keep going longer before it crashes out.
Close any open projects which are not in current use.
Try to switch off the auto publish mode during development.
Eclipse loads plug-ins lazily, and most common plug-ins, like Subclipse, don't do anything if you don't use them. They don't slow Eclipse down at all during run time, and it won't help you to disable them. In fact, Mylyn was shown to reduce Eclipse's memory footprint when used correctly.
I run Eclipse with tons of plug-ins without any performance penalty at all.
- Try disabling compiler settings that you perhaps don't need (e.g. the sub-options under "parameter is never read).
- Which version of Eclipse are you using? Older versions were known to be slow if you upgraded them over and over again, because they got their plug-ins folder inflated with duplicate plug-ins (with different versions). This is not a problem in version 3.4.
- Use working-sets. They work better than closing projects, particularly if you need to switch between sets of projects all the time.
It's not only the memory that you need to increase with the -Xmx switch, it's also the perm gen size. I think that problem was solved in Eclipse 3.4.
The only real way to hasten Eclipse with the standard plug-ins is to give it more memory and in some cases access to a faster storage space / defragmented hard drive.
Beyond that there is not much you can do performance-wise: most standard plug-ins do not have a continuous runtime cost, even Mylyn is relatively fast.
Upgrading to the latest JVM supported on your machine may help as well.
Some people downgrade to older Eclipse versions to get better performance. It may also make sense to use Eclipse classic instead of the official releases.
Make sure that you're using the Sun JVM to run Eclipse.
On Linux, particularly Ubuntu, Eclipse is installed by default to use the open source GCJ, which has drastically poorer performance. Use update-alternatives --config java
to switch to the Sun JVM to greatly improve UI snappiness in Eclipse.
I agree with the previous answers:
The three most influential factors for Eclipse speed are:
using the latest Eclipse (3.4.1, soon 3.4.2)
launching it with the latest JDK (1.6u10, which does not prevent you to compile in your Eclipse project with any other JDK you want: 1.4.2, 1.5, 1.6 older...)
-vm jdk1.6.0_10\jre\bin\client\jvm.dll
configuring the eclipse.ini (see this question for a complete eclipse.ini)
-Xms128m -Xmx384m -XX:MaxPermSize=128m -Xss2m [...]
Note:
referring to the jvm.dll has advantages:
- Splash screen coming up sooner.
- Eclipse.exe in the process list instead of java.exe.
- Firewalls: Eclipse wants access to the Internet instead of java.
- Window management branding issues, especially on Windows and Mac.
But it can also have some drawbacks if you try to push the memory too high.
The default memory taken by Eclipse is the combination of MaxPermSize and Xmx. Here up to 512 MB total, which is quite enough for a 1 GB memory computer.
Another performance boost can be gained by disabling label decorations (Windows -> Preferences; General -> Appearance -> Label Decorations) and by disabling unused capabilities on startup (Windows -> Preferences; General -> Startup and Shutdown).
You may also get additional performance by choosing a different garbage collection strategy depending on your JVM.
If you're fed up with restart cycles you could use JavaRebel from ZeroTurnaround. That will shorten your time spend on server/client restarts.
I've disabled all unused options in Windows > Preferences > General and it has a huge positive impact on performance, eclipse is still slow when switching tabs, I don't want to increase memory, but it's a lot faster when scrolling. Thx for the tips.
I also tuned vmargs and stuff. But what really sped up Eclipse on Windows is the "proper" configuration of the anti-virus software. You have to disable the on-demand scanning of packed files. jar files, and many files related to java are packed with PKZIP algorithm to spare space. Because Eclipse uses tons of java files, an anti-virus attempts to individually unpack and scan every one of them. So for Windows platform: turn off the on-demand scanning of packed files, otherwise Eclipse will be unusably slow. Please keep in mind, that disabling this unfortunately makes your system weaker against attacks, most of the malware use packers.
There is another thing that really speeds up eclipse on both Windows and especially Linux - putting JVM in ramdisk.
For Windows you can use commercial ramdisk driver from Qsoft http://members.fortunecity.com/ramdisk/RAMDisk/ramdriv001.htm
For linux use any of the methods described in numerous articles on the net. It is important to give additional space to the ramdisk that is 10% bigger than size of JVM.
Check it out it really makes a difference.
Disable virus scanners, or at least configure any virus scanner to not scan JAR files on read access.
Thanks for the hints. These options (mentioned above) helped me a lot:
Windows:
Increasing memory & regarding to my updated Java version in eclipse.ini:
-Dosgi.requiredJavaVersion=1.6
-Xms256m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512M
Linux / Ubuntu:
Using
update-alternatives --config java
While not directly related to Eclipse:
If you're running Win-7 (and presumably Vista), be sure to disable the file indexing of your workspace folder if you stuff i it in the default place - your home folder. Windows ny default indexes everything in you home folder, and it's normally just a waste for your workspace. (Right click the workspace folder in explorer ,Properties->Advanced)
Windows->Preferences->Validation : Uncheck any validators you don't want/ need.