Hotspot has been the defacto JVM for over 20 years and shows no signs of being replaced, despite Graal's growing popularity.
There are many places where insiders have published good technical deep-dives of the internals of Hotspot and the operation of its C2 compiler, covering many of its fairly impressive features. That Java is as fast as it is is proof that optimising JIT compilers with access to runtime application profiles can do pretty damn well. This article is the first in a series that will seek to provide an outside look at the C2 JIT and try to explore some of the headroom available for Java to get even faster. Java will never match C/C++ compilers overall, but this series will show that it can locally out-perform these compilers in specific scenarios[^1]. Over time, it's my belief that the gap between native and managed code will continue to shrink.
[^1] Compared to an -O3 optimised C/C++ program without profile-guided optimisation. With PGO, C++ always has the theoretical high-ground.
Series: A deep look at Java's JIT'd assembly
Coming Soon!