Back to newsletter 062 contents
We've entered 2006, so I decided to go with the flow and do what every other editor does in January- review last year. Naturally, I'm mainly interested in Java performance, so here is my Java performance review of 2005.
Firstly a little context: 2005 was the year that Java turned 10 and released version 5.0 (or 1.5 if you go by what the JVM tells you). Despite the hype, 5.0 wasn't a big leap in performance, it was more of an incremental improvement, and was actually worse for a fair minority of apps (though I've heard good things about the latest version, 1.5.0_06). 5.0 introduced a number of features which were about ease of use and improved maintenance, like generics and autoboxing. The performance impact of these features were negative to neutral, that is, if you don't abusive them you get the same performance as previously; if you use the new features in certain ways they make your application slower than it otherwise would be. Hmm, perhaps that's a truism. In any case, watch out for autoboxing in your apps, I suspect they may become a persistent cause of performance problems in the future. On the BIG plus side 5.0 did see the most significant advances in JVM monitoring since version 1, at last! And within the general I.T. world Java was the most popular language with no real challengers (but lots of wannabe's); the supposed big threat of C# didn't materialize ... again. C# performance was about the same distance behind Java as its always been.
On the news front (all our past news items can be reached from the archives page at http://www.javaperformancetuning.com/newsletter.shtml), January saw Sun finally admit what everyone else had been saying for years: EJB performance is unacceptable unless you are really careful in your design. The same month saw what is for me still the quote of the year from Cameron Purdy: "XML standards will more than compensate for faster and cheaper hardware". Later in the year we had reports emerging about Java's use in huge enterprise customer facing sites: Walmart (Java serving over 7 million sessions/106million page views per day); Google (upgrading to 5.0, one of the two most used technologies there); Become.com (Java webcrawler capable of processing over 3 billion webpages and over 8 terabytes of data every week)
Of the articles we covered, four stand out, spread almost evenly over the year. First, in January we focused on just one article, something we rarely do - and it wasn't even a Java performance article! But the detail and quality of performance methodology tips in "HP-UX 11i Tuning and Performance", singled it out as essential reading for every performance tuner, whatever you are tuning. Then in April we extracted the tips from Scott Delap's "Swing Threading" chapter of his "Java Desktop Live" book. If you are using Swing, you should have read this - or you are already a Swing expert and I congratulate you. September saw Brian Goetz's "Urban performance legends, revisited" hit the IBM developerWorks web pages - compulsory debunk reading. And finally, right at the end of the year, last month, Sun produced a nice (slightly flawed) "Java Tuning White Paper" which promises more versions as the Sun Java performance groups gradually brain dump their tips into later versions of that article.
Finally, my highlight of the year: 1.5 and the jmap tool which finally, after over a year of trying, allowed me to get a young gen memory growth profile of a Java application which had crashed every profiler I had previously tried (and I tried a heck of a lot of them). Close runner up is running Java 5 on Solaris 10 while using dtrace to probe at both the Java and native process level at the same time - excellent. I think its also worth pointing out that we listed 50 new Java performance related tools in 2005, and extracted over 650 new performance tips. That's pretty useful for a free newsletter. Now, read on for our news, selected articles, and extracted tips of 2006 - and as a bonus we start with a new tool report covering the Enterprise Application Profiler in Sun's Java Studio Enterprise. We also have Kirk talking about estimating resource requirements, and of course, we have many new performance tips extracted in concise form.
Java performance tuning related news.
Java performance tuning related tools.
Back to newsletter 062 contents