Java Performance Tuning in Ireland

Something that I have been thinking about over the last few weeks is the level of concern for [tag]Java based application performance[/tag] in the Irish market. By this I mean from a language, architectural and configuration point of view and also through the full lifecycle of a project (development, test, qa, staging, production). Do Irish companies see performance of Java applications as a real issue or is it another red herring, and that performance just happens without any formal performance review process being applied? I’m not trying to make any statements here about the state of the Irish Java performance community, I’m just asking some questions.

The only Irish based initiative that I am aware of is the [tag]Performance Engineering Lab[/tag] (a joint effort by DCU and UCD) who are doing some very interesting work into the area of how ‘theoretical analysis can support the understanding or the design of the system’. This is a great initiative, at an academic level and, hopefully, we will see the fruits of that labour in the corporate world in the not too distant future, but what about in the real world? Where time is money and both are extremely precious commodities!

I may, of course, be wrong, and everything might be fine and dandy with [tag]Java performance in Ireland[/tag], but I would like to get some feedback from people on what they think. What has been their experience in the past? Common problems encountered and their solutions etc.

Maybe we can get some kind of thread going discussing Java performance tuning in the Irish market: tips and tricks, lessons learned etc. So post a comment and let me know what you think. Obviously comments from people working outside of the Irish market are also more than welcome.

I’ve recently written a blog entry on VM Tuning using Quest’s PerformaSure. You might find this interesting if you are looking into Java performance.

Jay

  1. #1 by Guru Prasad on September 5, 2006 - 2:37 pm

    To be honest I was very excited to see an university is taking some initiative. But very disappointed to see that it is none other than another hipe with no stuff. Over past several years, I have been hearing the Java performace problems etc. quite a lot. I have managed a project for a client We manged to prove that the Java is as efficinet as c code. (unfortunately that involved in writing a mini-app sever instard of deploying on tomcat). In my openion it is ignorent programmers causing the java to be slow withut understanding the principle and their implications. (where as in c like languages if you make a mistake your program simple die. no questions asked).
    Neitherless it is a good initiative.

  2. #2 by Jay on September 5, 2006 - 2:57 pm

    Guru,

    I think putting the work that the guys in UCD are doing into the ‘all hype, no stuff’ category is a little harsh. We have seen some of their work, and if I was to criticize the work in anyway, I would say while academically it’s great stuff i.e. byte code instrumentation, data analysis, usability etc. commercially I think they may struggle to find their niche.

    Companies like Wiley and Quest have the market pretty much tied up and with some many free options out there, it’s difficult to bring something to market that catches people’s attention.

    I agree with you that Java can perform as well as C, C++, and .NET but may fall down in some specialized cases.
    As for ignorant developers being the cause of Java performance issues, I hope you mean ignorant in the sense of inexperienced ;) . It’s a learning process and it’s a process that we are all part of. Developers can only get better by highlighting code issues, and discussing how things could be done better i.e. making code reviews an important part of the process.
    In some cases it isn’t the fault of the developer. Take the java.util.Date, from JDK 5, class as an example. Recently, we profiled one of our applications, and we saw that calls to new Date() were taking a disproportionate amount of time. The code was basically trying to see if a date in memory was ‘after now’. We swapped this out with JodaTime DateTime class and used it’s isAfterNow() method. Instant improvement in performance. So something like this is not the fault of a developer. The problem was fully understood and the developer worked with the tools they were given to solve said problem. It’s only that we had the luxury to step back and look at the performance of the application as a whole, that the performance tweak was spotted.

    Jay

Follow

Get every new post delivered to your Inbox.