Skip to main content

Kirk Pepperdine on Performance Tuning and Cloud Computing

Posted by editor on September 21, 2009 at 8:04 AM PDT

In her lastest article, Janice Heiss interviews Java Champion Kirk Pepperdine on Performance Tuning and Cloud Computing. I was in the java.net booth at this year's JavaOne when Kirk gave a presentation on Java performance tuning (you can listen to the podcast). While "the cloud" was a significant topic at JavaOne, Kirk's java.net Community Corner presentation did not include that.

Early in the interview, Janice asked Kirk: "What misconceptions do you encounter among developers about performance tuning?"

Kirk's response wasn't what I would have expected. He answered:

Here's a major one: All developers believe they are good at performance tuning. They might be very good at writing performance code, and they might be very good at coding, but generally I find that most developers are not very good at performance tuning.

How can this be?

When developers are put in situations where they are asked to performance tune, they typically look at code and take some action. But they invariably forget the dynamics of the system. If you don't include the dynamics of the system when you performance tune or if you think you understand the dynamics of the system and guess wildly wrong - which is quite often the case - you end up doing the wrong thing, which frequently happens.

Kirk notes that software testers tend to be more successful when it comes to performance tuning than most developers, because they are more accustomed to working within a defined process.

Toward the end of the interview, Janice brings up the cloud:

As we move toward an era of cloud computing, what should Java developers understand about performance tuning? What scaling problems must developers address these days?

From his response, I think we know which choice Kirk would select in our current poll, which asks What's you opinion of 'the Cloud'? Kirk answered:

Cloud computing doesn't look that different from large data centers, which people have been trying to deal with for a long time.

While there are some problems that are peculiar to cloud computing today, I don't think they will be problems for a long time. Everyone knows that virtualization of the network is problematic. People are working hard to find ways to eliminate the problem.

There's a lot more interesting material in Janice's interview with Kirk. Read the complete interview, and you'll see what I mean.

-- Kevin Farnham


In his post Josh Bloch on the Semantic Gap, Bill Venners provides commentary on the Mind the Semantic Gap workshop that took place at last week's JVM Languages Summit:

At the JVM Languages Summit, Josh Bloch expressed his concern about what he called the "semantic gap" between the source code we write and its performance at runtime: As performance improves, our ability to predict the performance consequences of our source code degrades...

The Project Shoal team announced the final release of Shoal 1.1 FCS this past Thursday:

Download the shoal library bundle shoal-gms-1.1.zip and sources and javadocs. Shoal 1.1, the latest release of the Java based dynamic clustering framework, contains a number of features and bug fixes that significantly improve clustering reliability, and scalability for your applications. See below for a list of Enhancements and Bug Fixes...

Peligri announced a Free Webinar - Deploy Rails Applications to GlassFish that will take place on Wedndesday:

Arun will give a Webinar on deploying Rails Applications to GlassFish next Wednesday. Details at the Registration Page and at
Arun's post...


In today's Weblogs, I'm featuring Geertjan Wielenga's recent post that shows How to Create a GUI Editor on the NetBeans Platform:

There's a lot of interest in creating GUI editors via the Visual Library. So I'm creating a small example that will show how to do that. The palette is filled with JavaBeans that are registered in the layer, meaning that the editor is extensible via the System FileSystem. When a palette item is dropped, a BeanNode wraps the JavaBean and displays its BeanInfo in the Property Sheet, where it can be edited and changes are applied immediately...

Fabrizio Giudici discusses why Repository cohesion is another plus of Mercurial:

During my last years before getting the master degree, I have been working at a free flight simulator. It run under DOS and was named FGFLY. It was written in C++, initially Borland C++ and later Watcom C++, in order to use a memory extender to bypass the infamous 640k limit. At the time I just was a student able to earn a few money with programming, and couldn't allow to spend a lot in hardware - so my computer was never at the leading edge; I remember that compiling the whole project took more than one hour...

John Smart announces the upcoming Java Coding Dojo in Sydney and Wellington in October:

While I am in Sydney for the next Sydney Java Power Tools Bootcamp, I will be running a Java Coding Dojo, to be held in the Atlassian offices between 5:30 and 7:00pm on the 21st of October. This is a free event, open to anyone who want to do a little recreational coding. I will also be running the inaugural session of the  Wellington Java Coding Dojo on October 14, at a to-be-announced mysterious location (somewhere in Wellington, though)...


In the Forums, hatemalimam asks about Glassfish DNS Management ??: "Hi , I have to web applications (2 wars).... and I have one physical Server with on Public IP lets say for example : 11.11.11.11. How can I host those to web application on one public IP . I can host only..."

chaoslayer has a question regarding domain.xml - DTD/XSD: "Hi there, simple question: where is the correct DTD and/or XSD for the domain.xml of current glassfish v3 preview builds? The only ones I could find reside in lib/dtd and are completely outdated and doesn't match what is being..."

And Mark Streit has an issue with Exceptions/FaultBeans and generated classes - wsimport: "I have question re: *wsimport* behavior and the classes it generates as it relates to Exceptions. I am familiar w/ the article..."


Our current Spotlight is the new Janice Heiss interview with "Java Champion Kirk Pepperdine on Performance Tuning and Cloud Computing": "java.sun.com (JSC): In your talks, you always warn developers that they must carefully evaluate any generic advice that you provide to see if it applies to a particular situation. Why is this so important? Pepperdine: While I do give generic advice, I carefully explain that people have to evaluate it to see if it will work. I am giving advice in a vacuum, so what may work for many people most of the time may be very detrimental in other contexts. I don't know in advance what specific problem someone is working on..."


The current java.net Poll, which was submitted by Geertjan Wielenga, asks "What's your opinion of 'the Cloud'?" The poll will run through Thursday.


Our Feature Articles include Jeff Lowery's A Finite State Machine Supporting Concurrent States, which demonstrates how Java enums and EnumSets can be used as a basis to define and validate application states and state transitions. We're also featuring Jeff Friesen's article Introducing Custom Paints to JavaFX, which shows how you can leverage undocumented JavaFX capabilities to support custom paints in JavaFX Version 1.2.


The latest Java Mobility Podcast is Java Mobile Podcast 87: Tranqueira project used LWUIT: "Eloi Junior from Brazil has just opened the Tranqueira project and shares his experience in using LWUIT."


Current and upcoming Java Events:

Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.


Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive.

Related Topics >>