This looks useful:

   http://jiprof.sourceforge.net/

Excerpted from the jiprof page:

JIP is a code profiling tool much like the hprof 
tool that ships with the JDK. There are, however, 
a few differences:

1. Interactivity. hprof is not an interactive 
profiler. It starts when your program starts and 
ends when the JVM exits. In many cases this 
doesn't give you a true measure of performance 
since the Just In Time compiler doesn't compile 
code on the first pass. In addition, this type of 
profiler is not useable at all in web 
applications since you end up profiling the web 
container as well as the web application. JIP, on 
the other hand, allows you to turn the profiler 
on and off while the JVM is running.

2. No native code. Most profilers have some 
native component. This is because most profilers 
use the JVMPI (Java Virtual Machine Profiling 
Interface) which requires the use of native 
components. JIP, however, is pure Java. It takes 
advantage of the Java5  feature which allows you 
to hook the classloader. JIP adds aspects to 
every method of every class that you want to 
profile. These aspects allow it to capture 
performance data.

3. Very low overhead. Most profilers are very 
slow. In many cases hprof will cause a program to 
run 20 times slower. JIP, on the other hand, is 
lightweight. A VM with profiling turned on is 
about twice as slow as one without a profiler. 
When the profiler is turned off, there is almost 
no overhead associated with using JIP.

4. Performance Timings. JIP gathers performance 
data. You cannot use most profilers to do timings 
of your application. hprof, for example, will 
show you the relative amount of time that is 
spent in different parts of your code, but hprof 
has so much overhead, that you cannot use it to 
get real world timing measurements. JIP, on the 
other hand, actually tracks the amount of time 
used to gather performance data and factors that 
time out of its analysis. This allows you to get 
close to real world timings for every class in 
your code. So there is no need to litter your 
code with System.currentTimeMillis()!

5. Filters by package/class name. One of the 
annoying things about hprof is that there is no 
way to filter out classes by class or package 
name. JIP allows you to do just that (for more 
information, look at the profile.properties 
file). This in not to say that the execution time 
is not included. It is included but can only be 
seen in the execution time of the calling routine.

-- 
- Stephen Bannasch
   Concord Consortium, http://www.concord.org

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"SAIL-Dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/SAIL-Dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to