Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can you speed up Eclipse?

People also ask

Why Eclipse download is very slow?

The issue you are experiencing may be tied to the active provider in Eclipse's Network Connections settings: Direct - "Choosing the Direct provider causes all the connections to be opened without the use of a proxy server." Manual - "Selecting Manual causes settings defined in Eclipse to be used."

How do I fix Eclipse not responding?

If there is a project you earlier imported externally (outside of Workspace), that may cause this problem. If you can access Eclipse try to remove it. If you are getting the 'No responding at startup', then go delete the file at source. This will solve the problem.


The three most influential factors for Eclipse speed are:

  • Using the latest version of Eclipse (2020-06 as on 26 June 2020)
    Note that David Balažic's comment (July 2014) contradicts that criteria which was working six years ago:

The "same" workspace in Indigo (3.7.2) SR2 loads in 4 seconds, in Kepler SR2 (4.3.2) in 7 seconds and in Luna (4.4.0) in 10 seconds. All are Java EE bundles. Newer versions have more bundled plugins, but still the trend is obvious. (by "same" workspace I mean: same (additionally installed) plugins used, same projects checked out from version control).

  • Launching it with the latest JDK (Java 14 at the time of writing, 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)

      -Xms512m
      -Xmx4096m
      [...]
    

The Xmx argument is the amount of memory Eclipse will get (in simple terms). With -Xmx4g, it gets 4 GB of RAM, etc.


Note:

  1. 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.

Dec. 2020, Udo conforms in the comments

From version 4.8 (Photon) an up there was a steady speed gain after each version.
The main platform was optimized every release to load faster, enable more features for the dark theme and to add more features for newer Java versions for the Java development tools.
Especially with-in the last 3 versions the startup time was increased a lot. There should be a significant increase in start-up time with the newest version of Eclipse 2020-12.

In my experience it started a lot faster with each new version.
But: There are still plug-ins which do not follow the new way of using the Eclipse API and are therefore still slow to start.
Since the change to Java 11 as the minimum runtime version starting from Eclipse version 2020-09 at least the core system uses the newer features of the JVM. It is up to the providers of the other plug-ins to upgrade to newer APIs and to use the full power of modern CPUs (e.g. concurrent programming model).


Add -Xverify:none to your eclipse.ini file.

It will cut down your Eclipse startup time considerably (50% in my case if not more). This will tell the VM not to validate all the .class files it is loading.

Consider this: Never Disable Bytecode Verification in a Production System (as mentioned in the comments)


Go to Windows -> Preferences -> Validation and uncheck any validators you don't want or need.

For Eclipse 3.7, you use Windows -> Preferences -> General -> Startup and Shutdown.


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.


Close any open projects which are not in current use.

Try to switch off the auto publish mode during development.


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
-Xms512m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512M
-Xverify:none

Additionally, since we are optimizing for speed, setting -Xms to the same value as -Xmx makes the JVM start with the maximum amount of memory it is allowed to use.

Linux / Ubuntu:

Using

update-alternatives --config java

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 spent on server/client restarts.