• Share this article:

Eclipse is Faster

Wednesday, March 28, 2007 - 16:38 by Wayne Beaton

I’m up to #6 in the “Ten Reasons to Use Eclipse” posted by Renaud Waldura sometime in late 2002/early 2003. Since I’m crossing the halfway mark, I thought I mightlay out the previous reaons five for your review.

  1. Eclipse is Free
  2. Eclipse is a Platform
  3. Eclipse Has Momentum
  4. Eclipse is Easy To Extend
  5. The Eclipse Workbench: Views, Editors and Perspectives

Here’s reason #6:

Maybe this one is a pet peeve of mine, but I simply cannot stand waiting for menus to pop-up. Typical developer machines are less than a year old, and have more than enough horsepower to run any desktop application. How is it possible that a Java app still feels like a Java app, to the point that any developer can always tell an application is written in Java by its slow execution speed and quirky fonts?

Maybe an answer to this problem is SWT, the Standard Widget Toolkit developed by the Eclipse team as a replacement for AWT/Swing. In addition to making the application look like any other native application, which is a gread-breaking improvement in itself, SWT seems to greatly improve the performance of GUI display. And maybe, just maybe, the Eclipse developers care more about performance than others. The Eclipse development process consistently lists explicit performance milestones that must be reached before the product ships.

I have a problem with this one: the title is wrong. If you’re going to state that something is faster, you really need to state the what that it’s faster than. That said, it’s still true that Eclipse is a decent performer. And it’s true that there are performance targets that are consistently met. There have been some problems with Eclipse performance over the past few years, but these have often been caused by adding very large numbers of plug-ins on top of Eclipse and are easily mitigated by changing the way that the underlying Java virtual machine manages memory.

It may be true that SWT is responsible for the zippy performance. This was certainly true in the earlier days, but with improvements to competing technologies, any performance improvement bought through the use of SWT is difficult to discuss without igniting a savage battle.

Even putting aside any arguments involving SWT, I still think that Eclipse is faster. Out of the box Eclipse makes me productive. I don’t have enough experience with competing products to say whether or not Eclipse makes me faster than those competing products, so I won’t. To keep things simple, let’s say that out of the box Eclipse makes me about as productive as an equally competent developer expertly working with one of those competive products. I have a great deal of confidence, however, that Eclipse with Mylar makes me at least an order of magnitude more productive with Eclipse than I was before I started using it. By extension I’m at least an order of magnitude more productive than that increasingly hypothetical equally competent developer expertly working with a competitive product.

Mylar truly is proof that innovation is alive and well at Eclipse. A lot has already been written about Mylar, so I won’t rehash that here (at least not too much). The simplest way to put it is that Mylar makes it really easy to find things that I care about while I’m working. Since I spend a great deal of my time finding stuff, Mylar makes me more productive. And I’m not joking or exaggerating about the order of magnitude.

The notion of faster can be further generalized. Eclipse allows you to bring all of your tools together onto a common platform. You can get productive fast by applying knowledge gained in the use of one set of tools to another. With Eclipse BIRT, you can build professional quality reports; while it’s true that you’ll have to put some effort into learning how to actually build the report, the way that you manage the resulting files, save and share them with your team is already very familiar if you’ve been using Eclipse for other tasks. Similarly, I can manage and manipulate my databases using the Eclipse Data Tools right from the comfort of the environment that I’m already familiar with. I can also build my C/C++, Ruby, Ajax, or whatever applications using that same comfortable environment. And that’s just the tip of the iceberg; for some, Eclipse is already the desktop.

A slightly different take on the “Eclipse is Faster” theme leads me to Eclipse Rich Client Platform (RCP). I can churn out a very functional application very quickly using RCP. In that regard Eclipse is way faster than more traditional methods of developing and delivering desktop applications. Eclipse on the server with Equinox/OSGi has a lot of potential to make the development time-to-market and runtime performance stories for server-side applications a lot quicker as well.

What about great stuff like EMF, ECF, Higgins, RAP, and so on? This post is getting far to long to talk about all the ways in which Eclipse makes it fast and easy to develop applications.

So, is Eclipse still faster? I think so, but not in ways that Renaud was originally thinking.