Java performance: What's the big deal? - Trisha Gee

800 views
711 views

Published on

It seems that everywhere you look these days people are needing to work on high performance/low latency applications. If they're not already working on them, then they want to be. But what do you really need to know when you're working on performance-sensitive systems? Where do you get started? In this session, Trisha outlines things you need to consider when thinking about performance, covers some of the frequently-asked questions, and notes the pitfalls and common traps that developers fall into.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
800
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java performance: What's the big deal? - Trisha Gee

  1. 1. Java Performance What’s the big deal? Trisha Gee, Developer @trisha_gee mechanitis.blogspot.comWednesday, 17 October 12
  2. 2. Who are you and what do you want?Wednesday, 17 October 12
  3. 3. So, performance.... • Where do I start? • Things to consider... • Frequently asked questions • What Not To Do • Questions?Wednesday, 17 October 12
  4. 4. Where do I start?Wednesday, 17 October 12
  5. 5. Do you really care?Wednesday, 17 October 12
  6. 6. Do you care about...? • LatencyWednesday, 17 October 12
  7. 7. Do you care about...? • ThroughputWednesday, 17 October 12
  8. 8. Do you care about...? • ResponsivenessWednesday, 17 October 12
  9. 9. Do you care about...? • StabilityWednesday, 17 October 12
  10. 10. Do you care about...? • Restricted hardwareWednesday, 17 October 12
  11. 11. NFRs Are Not Evil • 99.99% of all orders processed in less than 10ms • 7000 tweets per second • Pages load in less than 0.1 seconds • Must be able to fail over in less than 10 seconds • 2000 price updates per second with 99% latency of <10msWednesday, 17 October 12
  12. 12. LatencyWednesday, 17 October 12
  13. 13. LatencyWednesday, 17 October 12
  14. 14. ConsiderationsWednesday, 17 October 12
  15. 15. Cost / BenefitWednesday, 17 October 12
  16. 16. The Real WorldWednesday, 17 October 12
  17. 17. Mechanical SympathyWednesday, 17 October 12
  18. 18. Testing • “Performance” testing • Load testing • Red Line / Capacity • Stress testingWednesday, 17 October 12
  19. 19. Where are your bottlenecks?Wednesday, 17 October 12
  20. 20. Planning for the FutureWednesday, 17 October 12
  21. 21. Planning for the FutureWednesday, 17 October 12
  22. 22. Planning for the FutureWednesday, 17 October 12
  23. 23. Planning for the FutureWednesday, 17 October 12
  24. 24. Planning for the FutureWednesday, 17 October 12
  25. 25. CompromisesWednesday, 17 October 12
  26. 26. FAQsWednesday, 17 October 12
  27. 27. QuestionsWednesday, 17 October 12
  28. 28. Questions • Why Java?Wednesday, 17 October 12
  29. 29. Questions • Why Java? • How does technology x compare to technology y?Wednesday, 17 October 12
  30. 30. Questions • Why Java? • How does technology x compare to technology y? • How can I run multi-threaded / in parallel?Wednesday, 17 October 12
  31. 31. Questions • Why Java? • How does technology x compare to technology y? • How can I run multi-threaded / in parallel? • Can I throw more hardware at it?Wednesday, 17 October 12
  32. 32. Questions • Why Java? • How does technology x compare to technology y? • How can I run multi-threaded / in parallel? • Can I throw more hardware at it? • How do I speed up <item out of my control>?Wednesday, 17 October 12
  33. 33. Questions • Why Java? • How does technology x compare to technology y? • How can I run multi-threaded / in parallel? • Can I throw more hardware at it? • How do I speed up <item out of my control>? • Where’s my magic bullet?Wednesday, 17 October 12
  34. 34. Common PitfallsWednesday, 17 October 12
  35. 35. Tune By GutWednesday, 17 October 12
  36. 36. Myth Based DevelopmentWednesday, 17 October 12
  37. 37. It Works On My MachineWednesday, 17 October 12
  38. 38. Misleading MicrobenchmarksWednesday, 17 October 12
  39. 39. Profiler Is GodWednesday, 17 October 12
  40. 40. More Hardware RequiredWednesday, 17 October 12
  41. 41. Too Smart For New HardwareWednesday, 17 October 12
  42. 42. Disregarding the Laws of PhysicsWednesday, 17 October 12
  43. 43. The Never Ending StoryWednesday, 17 October 12
  44. 44. OK fine...Wednesday, 17 October 12
  45. 45. Java Stuff • The Garbage Collector Is Not Your Enemy • The JVM Is Smarter Than You • Synchronized Is Evil • Don’t Forget The Machine • ...it might not be your codeWednesday, 17 October 12
  46. 46. In SummaryWednesday, 17 October 12
  47. 47. In Summary • What is is you really care about? • The real world matters • There is no magic bulletWednesday, 17 October 12
  48. 48. Science, Not ArtWednesday, 17 October 12
  49. 49. Questions?Wednesday, 17 October 12
  50. 50. Resources • We Don’t Need No Stinkin’ Locks! - 3:45pm (now) • Are your GC Logs Speaking to You? 3:45pm (now - typical) • Martin’s Performance Myths presentation • Kirk’s Performance Tuning course • Coding the Architecture • http://is.gd/javaperfWednesday, 17 October 12

×