Ionut Balosin is a software architect, independent technical trainer, and security champion. He regularly speaks at software development conferences and meetups around the world, delivering presentations, training courses, and workshops. For more information please visit his website www.ionutbalosin.com
Florin Blanaru is a tech person with experience in managed runtimes (the JVM), heterogeneous hardware accelerators, and e-commerce platforms.
His main technical interests are compilers, managed runtimes, and high-performance heterogeneous execution. He specializes in Java and the JVM (Hotspot), Compilers, Parallel Computing, GPU Programming, and Performance Analysis and Tuning.
Tuning a JVM is a difficult task, especially because there are many tuning flags to choose from, and the performance depends on the environment, workload, etc. Hand tuning is also a double-edged sword, as adjusting in the context of a specific environment for a specific use case (or a set of use cases) might become less optimal or degrade the other parts.
Based on this rationale, it is necessary to understand what might be “the most suitable” JVM and the JDK version to bring the most benefits without spending too much time playing with different JVM tuning flags, etc.
This session is based on research work conducted by Ionut Balosin and Florin Blanaru trying to create representative performance benchmarks on specific code patterns with several combinations of JDK versions and JVM providers focused on:
– Just In Time (JIT) Compilers (C2 JIT HotSpot, Graal JIT)
The goal is to identify (by comparison) the strengths and the weaknesses of each JVM and what might be the most optimal mix in terms of the JDK version and JVM distribution that could be used (in real business applications, as well) to improve the performance.
All the benchmarks from this research rely on the below stack:
– Java Microbenchmark Harness (JMH)
– HotSpot OpenJDK
– GraalVM CE, Oracle GraalVM
– JDK 17
– aarch64, x64