Brussels / 4 & 5 February 2023


Classics Never Get Old: Two Easy Pieces For GraalVM

Biased locking was removed from OpenJDK HotSpot JVM some time ago. This move had its reasons, but it resulted in a number of significant performance degradations in existing code. Thus, when non-contended locking optimization can be added, it still benefits virtual machines. Parallel stop-the-world garbage collection is one of the earliest GC variants in HotSpot, and yet it is the best choice in terms of high throughput. SubstrateVM which powers GraalVM native image supports synchronization monitors and offers serial stop-the-world GC as a basic collector. Due to the increased popularity of pre-compilation and its support in modern frameworks, it is remarkable how playing classical optimization pieces helps to improve the performance of such code. BellSoft recently put locking and garbage collection enhancements for public review. It is interesting that within GraalVM project both were implemented in Java. We'll explore implementation details, benchmark results, and application benefits.


Photo of Dmitry Chuyko Dmitry Chuyko