practicing at the cutting edge
play

Practicing at the Cutting Edge Learning and Unlearning about - PowerPoint PPT Presentation

Practicing at the Cutting Edge Learning and Unlearning about Performance Martin Thompson - @mjpt777 Learning and Unlearning 1. Brief History of Java 2. Evolving Design approach 3. An evolving Hardware platform 4. Changes in Culture 1. Brief


  1. Practicing at the Cutting Edge Learning and Unlearning about Performance Martin Thompson - @mjpt777

  2. Learning and Unlearning

  3. 1. Brief History of Java 2. Evolving Design approach 3. An evolving Hardware platform 4. Changes in Culture

  4. 1. Brief History of Java

  5. Java Timeline 1.0 1.1 1.2 1.3 1.4 5 6 7 96 97 98 99 00 01 02 03 04 05 06 07 08 09 10 11 12 13 In the beginning Java was Oak and Oak was slow

  6. How did it all start?

  7. How did Java perform then?

  8. ...but everything must have a beginning

  9. Java Timeline 1.0 1.1 1.2 1.3 1.4 5 6 7 96 97 98 99 00 01 02 03 04 05 06 07 08 09 10 11 12 13 Netscape Navigator 2.0 & IE 3.0 with Applet support

  10. Ma, I don’t need to worry about deleting objects any more...

  11. ...but we can distribute rich GUIs without an installer

  12. We could even do multi-threaded apps on Windows 3.11

  13. Java Timeline 1.0 1.1 1.2 1.3 1.4 5 6 7 96 97 98 99 00 01 02 03 04 05 06 07 08 09 10 11 12 13 Symantec and Microsoft JIT Performance Wars

  14. Life with early JIT Compilers

  15. ...cross platform GUIs are a real possibility

  16. Java Timeline 1.0 1.1 1.2 1.3 1.4 5 6 7 96 97 98 99 00 01 02 03 04 05 06 07 08 09 10 11 12 13 Generational Garbage Collection Servlets

  17. But then came the surprise win

  18. Servlets vs CGI

  19. Graph Theory!

  20. Java Timeline 1.0 1.1 1.2 1.3 1.4 5 6 7 96 97 98 99 00 01 02 03 04 05 06 07 08 09 10 11 12 13 Hotspot Compiler JRockit for x86

  21. EJB

  22. Java Timeline 1.0 1.1 1.2 1.3 1.4 5 6 7 96 97 98 99 00 01 02 03 04 05 06 07 08 09 10 11 12 13 Native Threads on Linux + epoll NIO

  23. Java Memory Model

  24. Java Timeline 1.0 1.1 1.2 1.3 1.4 5 6 7 96 97 98 99 00 01 02 03 04 05 06 07 08 09 10 11 12 13 Java Util Concurrent + JMM Class Data Sharing

  25. Herb decided to write an essay...

  26. The free lunch is over...

  27. Java finds its way into our poor little mobile phones

  28. What about life on the Server?

  29. EJB

  30. EJB

  31. Java Timeline 1.0 1.1 1.2 1.3 1.4 5 6 7 96 97 98 99 00 01 02 03 04 05 06 07 08 09 10 11 12 13 Escape Analysis Register Allocation Split Bytecode Verification

  32. What about our hero who freed us from the EJB tar pit?

  33. SQL too difficult?

  34. The world of hardware undergoes big changes!

  35. High Frequency Trading

  36. Milliseconds Matter...

  37. ...Microseconds Matter...

  38. ...right from market open...

  39. ...and especially after a quiet period...

  40. ...it is like being at War

  41. Memory Cliff

  42. SHM, Locks, and Multi-core

  43. Safepoints!!!

  44. Java Timeline 1.0 1.1 1.2 1.3 1.4 5 6 7 96 97 98 99 00 01 02 03 04 05 06 07 08 09 10 11 12 13 Tiered Compilation G1 Garbage Collector Compressed Pointers

  45. What does the near future hold?

  46. sun.misc.Unsafe

  47. What is everyone excited about?

  48. What about other languages?

  49. Now on with the story...

  50. 2. Evolving Design Approach

  51. GUI Era

  52. Battle for the Desktop

  53. Battle for the Desktop

  54. What was the biggest factor in performance?

  55. People

  56. Comms design is significant to GUIs

  57. Users love responsive interfaces

  58. Modelling

  59. “Big” Data Era

  60. What do the following companies have in common?

  61. Huge product catalogues

  62. Partners Logistics Catalogues Sales PCM Websites Warehousing e-Procurement Manufacturing

  63. Parsing

Recommend


More recommend