LJC Unparty 2014 "Java Performance Blind Ignite Talk"

21
Java Performance Explained In 15 second blind-ignite-sized chunks… Bravely Presented By: Richard Warburton & Martijn Verburg Slides Created By: Daniel Bryant

description

This talk was delivered at the awesome LJC Unparty in January 2014, and is meant to be a light-hearted whistle-stop tour of important Java Performance topics.

Transcript of LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Page 1: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Java Performance ExplainedIn 15 second blind-ignite-sized chunks…

Bravely Presented By: Richard Warburton & Martijn Verburg

Slides Created By: Daniel Bryant

Page 2: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Which Java developers should be interested in performance?

Page 3: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How can I learn to write Java code

that performs well?

Page 4: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Is there any part of the JDK I should avoid for performance reasons?

Page 5: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How useful is “Mechanical Sympathy”?

(as popularised by Martin Thompson)

Page 6: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Do we love L.A.M.P?...

Or Java on Windows?...

(for best performance)

Page 7: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How does the JVM optimise code?

Page 8: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How can I tune JVM performance?

Page 9: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

“Cool cats” enable as many GC Flags as possible, right?

Page 10: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

When should I turn on GC logging?

Java -XX:+PrintGCDetails \ -XX:+PrintGCDateStamps \ -XX:+PrintTenuringDistribution \ -Xloggc:logs/gc.log \...

Page 11: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

GC Logs in production, really?

My manager doesn’t like that…

Page 12: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Do products exist to analyse GC Logs?

Page 13: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Random Heap Usage Graph - explain…

Page 14: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How common is “Yak Shaving” with performance diagnostics / tuning?

Page 15: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How does the Azul JVM work its magic?

(in 15 seconds or less…)

Page 16: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

What’s all the fuss about Shenandoah?

Page 17: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How effective is ‘off heap’ storage?

Page 18: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Any noteworthy performance stuff in the soon to be released JDK 8?

* GA Release: 18/03/2014. http://openjdk.java.net/projects/jdk8/milestones

Page 19: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Most common performance-related mistake you see in Java code?

Page 20: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How can I troll Java performance mailing lists?

Page 21: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Great work! And relax…

(Let’s have a round of applause!)