Most Java profilers depend upon timing information to help developers locate performance issues. Although this timing information can be useful for finding ‘hot’ methods, quite often the reason why the method is problematic is not revealed and is left as an exercise for the reader.
In this talk we will demonstrate an Open Source Eclipse plugin which can collect data from performance counters embedded within the CPU and correlate with the original Java source.
Information from these counters can provide insight into interactions between processor and code that can be used to determine the cause of performance issues.
Armed with this information developers can consider alternate code choices to avoid such performance bottlenecks. We will walk through various examples and will show how some typical code patterns may be refactored to improve performance.