Eclipse Foundation Member
Optimizer for Eclipse

Add this URL to your Eclipse Installation to reach this Solution's Update Site.

Mars (4.5)
Luna (4.4)
Kepler (4.3)
Juno (4.2, 3.8)
Previous to Juno (<=4.1)
Neon (4.6)

Learn more...

Details Group Tabs

Andrew Sowerby's picture

Even if this isn't just a way of harvesting user details, which some reviewers seem to think it is, I can't see the point of this plugin.

You can achieve the same results by adjusting your -vmargs in the eclipse.ini, or in your shortcut or command line you use to start the application.

1) Just add adequate heap settings:

e.g. Xms1024m and Xmx1024m, or more, depending on how hard you push eclipse
(setting them to the same size will avoid unnecessary heap resizing and garbage collection cycles)

In my main dev environment, I use -Xms4096m and -Xmx4096m (the machine has 16GB physical memory) because I work with some fairly large files that would occasionally trigger an OOM otherwise.

You should always start fairly small, and only increase it when you face OOM errors, so that you get to know how much memory you typically need. There's no point having a 4G or 8G heap if you're only using 1GB of it on average!! When it eventually grows and a GC cycle is triggered, it will take quite some time to complete.

2) disable class verification with -Xverify:none

Note: this can backfire if you are loading plugins from the marketplace that aren't very solid - if you find Eclipse crashes, you should start by removing (or commenting out) this parameter from your eclipse.ini

3) adjust perm sizes (Oracle JVM - not relevant to the IBM JVM) - however, if you have a 64-bit JVM, you should see they are already set this way by default, anyway :)

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

If you DO have a 64-bit JVM, you should probably consider increasing them both to 512m.

IF you are running eclipse on an IBM JVM, you can use -Xcompressedrefs (this is pretty nice, and is enabled by default in all IBM WebSphere based products since WAS 8, perhaps older).
Don't set it for an Oracle or OpenJDK JVM, because it won't be understood, and might get misinterpreted as -Xcomp!

There are also some things this plugin does that I wouldn't agree with:

4) it switches GC policy (Oracle JVM - not relevant to IBM JVM)
-XX:+UseParallelGC

This is not usually helpful unless you have really huge heapsizes (e.g. 10G, according to Oracle themselves).

I think that it would be better to just disable System.gc() with -XX:+DisableExplicitGC and leave it at that, in most cases. Otherwise, you could be doing more harm than good.

5) -server
this sets the server version of the Java HotSpot VM. Even though this setting causes the JVM to perform more slowly at first, performance improves over time. However, I'm not sure this will ever be the case for a typical user of Eclipse, who will not be running the eclipse JVM for long enough to see the that "performance improves over time". I suspect that the default "-client" JVM setting would be just as good in most cases.

TLDR;

This tool makes changes that probably aren't necessary for most eclipse environments, and some of which may actually do more harm than good.

Of course, it is better to enable verbose GC logging, collect data and analyze it with good tools such as IBM's PMAT or GCMV (verbosegc log troubleshooting tools) to see what your bottleneck actually is. Then, make the suggested changes, or just look at Oracle's or IBM's (depending on which JVM you use) performance tuning guides to make the correct changes.

These "one size fits all" tools are rarely a precise fit for anyone!

Jari Juslin's picture

This extension is a scam. First of all, instead of doing anything useful, you only get a uncloseable modal dialog requiring you to create an account and need to close Eclipse to close the dialog. When I tried to register, the registration didn't work. And the extension keeps spamming with unsoliticed notification balloons even while I have never been able to actually use it. The notification balloons are especially annoying because they pop up even when I have another window active, coming on top of the window of the other program blocking visibility and you can't close them without activating Eclipse window first.

It seems this is just a trick to collect contact details for programmers; there is absolutely no need to ask registration for a plugin to do its work and it is uncustomary to do so.

Dustin Singleton's picture

This made my eclipse unusable. It would crash on startup. After finally getting it installed After that, it asks you to enter in your information, such as name, phone #, and email address and won't let you continue without doing it.

This software is invasive and the reviews all seem fake.

Raymond Remedios's picture

Optimizer saved 4 seconds. Thanks.

Hamza Anis's picture

I am using eclipse Mars and it works great . This tool saved at least 5 seconds on every startup. Keep it up. Good work. I suggest it to everyone . Amazing

Vicente Perez's picture

Seems that the registration doesnt work? We have our domain network settings working but the registration page doesnt go anywere after the tweaking?

David Bekel's picture

Looks a nice product but i don't like to enter my credentials for a thing that i don't know if i am going to use at all.
good luck !

Daniel Anjos's picture

Simple and easy to use, saved 4 seconds (33%) of startup time from a fresh (clean) Eclipse Luna installation.

Paul Verest's picture

Maybe not so featureful, but done flashy.
And it did help to save 4s on start-up by disabling class verification.