The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Java Performance Tuning

I'd consider myself a well versed java programmer, but i'd like to really learn how to performance tune.  Anyone have experience with this?  Any book suggestions, or tools for finding bottlenecks and doing performance analysis? As always, thanks in advance.
Vince
Thursday, October 14, 2004
 
 
Addison Wesley and O'Reilly are both publishing houses putting out such books. Check out Amazon (or your favorite bookstore).
Li-fan Chen Send private email
Thursday, October 14, 2004
 
 
Jack Shirazi's book on Java Performance Tuning (from O'Reilly) is quite good. He's also got a web site (javaperformancetuning.com) with lots of performance tips.
BL
Thursday, October 14, 2004
 
 
Carfield Yim Send private email
Thursday, October 14, 2004
 
 
This site contains tips/articles on Java Performance Tuning. http://www.javaperformancetuning.com/

I guess this will be a good starting point.
Roy
Friday, October 15, 2004
 
 
For specific tips what are you working with?  Server side? Clinet side?  Othe type of applications I have worked with most of the biggest gains were with database optimization.  Other things are too many objects on the heap and every once in awhile you run into inefficient algorithm.

If I would recommend one thing would be to mesure before you optimize.  Find the problem then fix, otherwise you are wasting your time.
Bill Rushmore Send private email
Friday, October 15, 2004
 
 
Effective Java by Joshua Bloch, one of the best Java books I've ever read.

http://java.sun.com/developer/Books/effectivejava/
Martin
Saturday, October 16, 2004
 
 
Martin
Saturday, October 16, 2004
 
 
Bill, your absolutly right, I guess I should have phrased my question as, "what are some ways to find bottlenecks, tools to do profiling and analysis, and where would I go from there".  I've mostly done J2EE web/database type programming, where performance was almost always an algorithm/database/pattern issue.  BUT, now i'm working on non-database type server applications that are extremely performance intensive, and I'm just not sure where to start.
Vince
Saturday, October 16, 2004
 
 
There are several Profilers to count the CPU Cycles (eg the one I wrote: http://fprofiler.sf.net ) but it's a much better way to improve your algorithms instead (eg don't use linear arrays, use trees for your data etc...).

Well defined datastructures will help you not only with the performance, they'll also improve your code.

HTH,
Michael
Michael Jakl Send private email
Friday, October 22, 2004
 
 
I was living under the impression that you "count CPU cycles" with the profiler in order to find the inefficient algorithms.
Mystran
Monday, October 25, 2004
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz