Your SlideShare is downloading. ×
An Introduction To Java Profiling
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

An Introduction To Java Profiling

5,981
views

Published on

Published in: Technology, Education

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,981
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
218
Comments
0
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. An Introduction to Java Profiling
      • Developer's Day 2008
      • Patrick Schlebusch
  • 2. Overview An Introduction to Java Profiling
    • An Introduction to Profiling
    • YourKit Java Profiler
    • Demonstration
    • Additional information
  • 3. What is Profiling? An Introduction to Profiling
    • A development tool
    • Dynamic performance analysis at runtime
    • Implicit: Performance optimization based on analysis results
  • 4. Development Process An Introduction to Profiling Problem analysis Design Development Testing Deployment Profiling
  • 5. Goals An Introduction to Profiling
    • Measuring and locating performance „bottlenecks“
      • Time-expensive functions or code parts
      • Memory leaks and unnecessary memory allocation
      • Deadlocks
    • Useful interpretation of analysis results
    • Software performance improvements
    • Provide a detailed view on runtime behaviour
  • 6. Problems An Introduction to Profiling
    • Profiling produces overhead
    • Interpretation of results can be difficult
      • Identifying the „crucial“ parts of the software
      • Recognizing potential for improvements
  • 7. YourKit Java Profiler yourKit Java Profiler
    • Commercial Java Profiling Tool
      • Free tryout and Open Source licenses are available
    • Used by Open Source projects such as various Apache projects, Azureus (many more..)
    • Also used by Sun Microsystems, Google, SAP and at i5
  • 8. Features yourKit Java Profiler
    • On-Demand Profiling
    • CPU, Memory and Concurrency profiling methods
    • IDE Integration
    • Profiling API
    • Support of many different Java versions and OSs
  • 9. CPU Profiling yourKit Java Profiler
    • Sampling
      • Low overhead
      • Useful to find slow parts of the code
    • Tracing
      • Significant overhead
      • Exact CPU time and method invokation counts
    • CPU Usage graphs
  • 10. Memory Profiling yourKit Java Profiler
    • Memory telemetry graphs
      • Heap / Non-Heap memory
      • Class loading statistics
    • Object count and size of classes
    • Explicit garbage collection
    • Object allocation recording
  • 11. Thread Profiling yourKit Java Profiler
    • Deadlock detection
    • Synchronization analysis
      • For which synchronized blocks or methods are Threads waiting?
      • How long?
  • 12. Demonstration
  • 13. Additional Information
    • YourKit Java Profiler
      • www.yourkit.com
    • Jprobe
      • www.quest.com/jprobe/
    • JProfiler
      • www.ej-technologies.com/products/jprofiler/
    • Various Open Source Profilers
      • java-source.net/open-source/profilers
  • 14. Thank you.