As an aside, in my performance testing of Lucene using JProfiler, it seems to me that the only way to improve Lucene's performance greatly can come
from 2 areas

1. optimizing the JVM array/looping/JIT constructs/capabilities to avoid
bounds checking/improve performance
2. improve function call overhead

Other than that, other changes will require a significant change in the code
structure (manually unrolling loops), at the sacrifice of
readability/maintainability.


Just curious: are you more happy with JProfiler than with the JDK 1.5 profiler?

I haven't used JProfiler in quite a while but my impression back then was that it's overheads tend to significantly perturb measurement results. When I switched to the low-level JDK 1.5 profiler CPU tuning efforts got a lot more targetted and meaningful.

So, in my experience, the least perturbing and most accurate profiler is the one built into JDK 1.5. run java with -server -agentlib:hprof=cpu=samples,depth=10' flags for long enough to collect enough samples to be statistically meaningful, then study the trace log and correlate its hotspot trailer with its call stack headers (grep is your friend, a GUI isn't really needed). For a background article on hprof see http://java.sun.com/developer/ technicalArticles/Programming/HPROF.html

Wolfgang.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to