Fog Creek Software
Discussion Board

Java profiling preferences

Hello all,

What are your favored profiler/code coverage tools for Java?  I work for a consulting firm transitioning into software development and, in an effort to become rigorous, I've been tasked with finding a good profiler (preferably on the cheap).  So far both JProfiler and Clover looked good to me.
I particularly like Clover's extension of code coverage to include unit tests.  We are not currently doing unit tests -- maybe an investment in such a tool would help spur management into action.  Who knows?)

Any suggestions / anecdotes are, as always, greatly appreciated.

Thursday, July 15, 2004

Arrgh, I don't know how that last ")" got in there.

Thursday, July 15, 2004

My thought process is "Dang this is slow.  Oh, it's running Java.  Of course it runs slow."


Thursday, July 15, 2004

You can't beat the price of the hprof built into the Sun JVM, and I've found it to be quite adequate in identifying code bottlenecks.  Before spending money, see if you can make due with what you have.

Thursday, July 15, 2004

Disclaimer: I am the former development manager for Quest's JProbe suite of tools.

That being said, I have used JProbe and the competition on java development projects, and the biggest bang I got for my 'buck' was memory profiling, not execution profiling.

With memory profiling you're looking for places in the code that generate lots of short-lived objects and memory structures that aren't properly recycled (a/k/a memory leaks). Both types of behaviour have strong performance implications that can't be discovered with execution profiling.

In JProbe's case, the tool I'd recommend is Memory Debugger. The competition have similar tools, and there may be free stuff out there.

Reginald Braithwaite-Lee
Friday, July 16, 2004

*  Recent Topics

*  Fog Creek Home