Presentation: Hot code is faster code - addressing JVM warm-up

Track: 

Location:

Duration

Duration: 
2:55pm - 3:45pm

Day of week:

Key Takeaways

  • Understand how to inspect the operation of the hotspot compilers
  • Identify how to spot things to avoid with hotspot 
  • Hear strategies for ensuring your application is responsive when needed

Abstract

What is the JVM warm-up problem, and how does it affect our software? How can we aid the runtime in optimising our programs, and is it even a good idea to do so?

This presentation explores the lifecycle of Java code, and how the JVM evolves the runtime representation of code during program execution. From bytecode to assembly and back again (via some uncommon traps), we will cover practical tips on ensuring that Java code is running fast when it matters most.

Interview

Question: 
What’s the motivation for your talk?
Answer: 
I want to share some knowledge with Java developers who are interested in making their software execute at speed, but who haven't necessarily researched exactly what is going on in the guts of the Hotspot JVM. Java is sometimes perceived as a 'slow' language, sometimes due to the fact that it starts in interpreted mode. I'd like to argue that this is a fallacy, and mainly down to a failure to benchmark properly. Java can be screamingly fast when the JVM is able to apply all available optimisations.
Question: 
Can you tell me some details of what you'll cover in your talk?
Answer: 
I'm going to cover techniques for observing and determining what is going on behind the scenes when a program is executed, what to look out for in the compiler output, and some tools that will make the process easier.
Question: 
What is the main thing you want people to leave with from your talk?
Answer: 
A deeper understanding of what happens in the JVM - it’s too easy for us just to run our code and hope for the best. I believe that if we have better knowledge, we can make more informed decisions and validate assumptions about the performance of our systems. Computer Science tends to be derided as ‘not a real science’, but I think in the sphere of performance optimisation, we can treat it as a real science. Following the scientific method is key when working in this area, since any other approach is just based on assumptions.

Tracks

Covering innovative topics

Monday, 7 March

Tuesday, 8 March

Wednesday, 9 March

Conference for Professional Software Developers