Skip to content
0:00 / 0:00

#graalvm#hotspot#jit

JOTB19 - A race of two compilers: GraalVM JIT versus HotSpot JIT C2. by Ionut Balosin

J On The Beach

3K subscribers • 1 video on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Ionut Balosin

Advanced. Deep dive for people who know the field.

7.5K views7 years ago1 recommendation

Systems programmingProgramming languagesCompilers and interpretersPerformance and optimizationJava and the JVM

Ionut Balosin compares the performance and optimization strategies of the GraalVM JIT compiler against the traditional HotSpot JIT C2 compiler.

Do you want to check the efficiency of the new, state of the art, GraalVM JIT Compiler in comparison to the old but mostly used JIT C2? Let’s have a side by side comparison from a performance standpoint on the same source code. The talk reveals how traditional Just In Time Compiler (e.g. JIT C2) from HotSpot/OpenJDK internally manages runtime optimizations for hot methods in comparison to the new, state of the art, GraalVM JIT Compiler on the same source code, emphasizing all of the internals and strategies used by each Compiler to achieve better performance in most common situations (or code patterns). For each optimization, there is Java source code and corresponding generated assembly code in order to prove what really happens under the hood. Each test is covered by a dedicated benchmark (JMH), timings and conclusions. Main topics of the agenda: - Scalar replacement - Null Checks - Virtual calls - Lock coarsening - Lock elision - Virtual calls - Scalar replacement - Lambdas - Vectorization (few cases) The tools used during my research study are JITWatch, Java Measurement Harness, and perf. All test scenarios will be launched against the latest official Java release (e.g. version 11).

Why it's here

1 person recommends this

What people say. Recommended as a detailed performance comparison of GraalVM JIT and HotSpot JIT C2 with assembly-level analysis.

Moments people linked to

u/totemoin r/programming • Recommends

On “A race of two compilers: GraalVM JIT versus HotSpot JIT C2”

Background: > GraalVM is a universal virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Groovy, Kotlin, Clojure, and LLVM-based languages such as C and C++. GraalVM can compile Java and other languages to native executables Ahead-Of-Time (AOT), but this video is comparing GraalVM's Just In Time (JIT) compilation to Java's HotSpot JIT C2 in Java 12. Two free (as in beer) Java JITs are compared. The Enterpri$e equivalents may have better performance but that was not examined. From the YouTube description: > The talk reveals how traditional Just In Time Compiler (e.g. JIT C2) from HotSpot/OpenJDK internally manages runtime…
13View on Reddit