Skip to content
0:00 / 0:00

#jit#jvm#hotspot

Douglas Hawkins — Understanding the Tricks Behind the JIT

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by Douglas Hawkins, Azul Systems

Advanced. Deep dive for people who know the field.

18K views10 years ago2 recommendations

Systems programmingProgramming languagesCompilers and interpretersPerformance and optimizationJava and the JVM

Douglas Hawkins explains how the OpenJDK HotSpot JIT compiler optimizes Java code using speculative profiling and deoptimization.

Подробнее о Java-конференциях: — весной — JPoint: jrg.su/gTrwHx — осенью — Joker: jrg.su/h7yvG4 — — . . . . Douglas Hawkins, Azul Systems — Understanding the Tricks Behind the JIT JUG.ru meetup St.Petersburg, 30.06.2016 To many developers, compilers are mysterious — and the just-in-time compilers in a modern runtime simply seem to be black magic. However, there are really only a few simple concepts that guide any compiler and once you understand them you can make the compiler work for you. In this talk, we'll go through a seemingly simple piece of Java code in detail examining the many techniques that OpenJDK uses to make that piece of code run fast including static optimizations, speculative profiled based optimizations, and how those optimizations tie into the real black magic of the JVM deoptimization

Why it's here

2 people recommend this

What people say. Recommended as an excellent, detailed explanation of JVM JIT compiler internals and optimizations.

Moments people linked to

u/hardwaregeekin r/programming • Recommends

On “DevTube - The best developer videos in one place”

Talks are a good way to get info about the cutting edge or more niche topics. Stuff that would usually be in a whitepaper or even just a changelog will be explained in detail with demos and examples. For instance, the ruby JIT or understandinghow Java HotSpot works.

u/loathsomeleukocytein r/Kotlin • Recommends

On “When will we see Kotlin for .NET Core?”

Just watch: link to this video None of It happens on CLR. And there will be more optimisations like that to come when graal is going to be released: https://github.com/graalvm/graal Thats why applications written for JVM are slower to start but after some time they beat .NET applications in performance. Additionally there are far more libraries for JVM and they are much higher quality. Some benchmarks from Microsoft (.NET and Java Web Frameworks) https://github.com/aspnet/benchmarks as you can see Java frameworks are up to twice faster.

u/loathsomeleukocytein r/Kotlin • Mentions

On “When will we see Kotlin for .NET Core?”

Yes. It is. .NET virtual machine does not have an interpreter nor does it support speculative optimisations (escape analysis, polymorphic inlining, etc). It’s really just a regular compiler that happens to run the first time a method is called. Thats why It's lacking in performance compared to JVM. Your answer just shows you cant see a diffrence between runtime and language syntax. Do you have any knowledge how JVM and CLR works internally? Because I do. If you dont know what speculative optimisations are just watch: link to this video

u/MintPawin r/programming • Mentions

On “Good talk on JVM JIT internals (long, but well worth watching)”

12:25 "Every time I upgrade to Java 8 I have to change my loop iterations slightly to get it to activate the way I want." This is why I don't JIT, consistency is more important.
1View on Reddit