AJAX & Eclipse Performance
Posted by Skrud at Friday, January 20th 2006 at 3:13pm
Chris Laffra pulled double-duty today, delivering the first seminar of the day on AJAX and later on presenting a seminar on Eclipse and its performance.
Chris’s bread and butter is actually working on Java runtime environments and Eclipse at IBM in Ottawa. However he also has a passion for AJAX, so he gave a brief overview of AJAX and its related technologies this morning.
The Eclipse Performance presentation was excellent. Chris spent a lot of time poking fun at Eclipse and it’s apparent (lack of) performance. He offered many quotes from various big names in Software Engineering about optimization and quality software, and explained a bit about where Eclipse goes wrong. One quote, from Don Knuth, was “Premature optimization is the root of all evil.” Chris disagrees, saying that waiting until the end of a project to optimize it, and writing code without thinking of optimization is precisely part of Eclipse’s performance problems.
One memorable slide of his presentation showed a screenshot from a first-person shooter. Games tend to run much better and faster than Eclipse does. So, he takes a look at the game. There is a rendering engine that takes care of rasterization and buffering and displaying all the 3D models and islands and everything on the screen. And there is an AI engine so that when you shoot a bullet at a character and the bullet collides the character, then the character knows it’s dead. Then he described the Eclipse way of doing things: “This character over there in the bushes is a pointer. And he has a pointer to every bullet on this game island… and to every bullet on every other island in the game…”
He also described Eclipse as an SUV that was so overloaded and bloated with stuff that, first of all, you couldn’t even see the Hummer under all the kludge and, secondly, it’s about to fall over. Splash screens are designed in order for you to have something to look at while the program takes its time to load. If you actually read all the small print on the splash screen, by the time you finish the program should be loaded. Wouldn’t it be cool if splash screens had a little poker game that you could play while waiting?
I think the message of this particular seminar was to warn us about not thinking about optimization earlier enough. He showed us some Eclipse profiling tools (that are now part of the Test and Performance Tools Platform) and explains that profiling, finding bottlenecks, and fixing – and doing these things early and often – will help us write better, faster code.






I constantly bash Eclipse at work because I think it’s far too bloated and slow… glad to know someone else thinks so too! :)