Application / Dynamic Class Data Sharing In HotSpot JVM
Content Intro The purpose of this article is to discuss in detail one feature that HotSpot JVM offers since JDK 1.5 to reduce the startup time but also the memory…
HotSpot JVM Performance Tuning Guidelines
HotSpot JVM Performance Tuning Guidelines Content Intro Memory Heap Off-Heap Metaspace CodeCache Direct Buffers ClassLoader Dynamic Class-Data Sharing Just-In-Time Compiler Tiered Mode: C1+C2 Graal JIT Threads Garbage Collectors Serial Garbage…
JVM Garbage Collectors Benchmarks Report 19.12
Context The current article describes a series of Java Virtual Machine (JVM) Garbage Collectors (GC) micro-benchmarks and their results, using a different set of patterns. For the current issue, I…
Logging patterns and their performance impact
Motivation In the current post, I would like to explore different logging patterns and to identify which one is more efficient in terms of performance. Since logging is spread across…
JVM JIT Compilers Benchmarks Report 19.11
Context and Motivation The current article describes a series of Java Virtual Machine (JVM) Just In Time (JIT) Compilers micro-benchmarks and their results, relying on different optimization patterns or intrinsics support.…
JVM JIT Compilers Benchmarks Report 19.04
Context and Motivation The current article describes a series of Java Virtual Machine (JVM) Just In Time (JIT) Compilers benchmarks and their results, relying on different optimization patterns. For the current…
Kotlin explicit inlining at megamorphic call-sites pays off in performance
Motivation In the current post, I would like to investigate how megamorphic call-sites are optimized in Kotlin as a result of explicit inlining (using the explicit inline modifier) and what is…
Chaining lambda optimizations in HotSpot VM and GraalVM
Motivation Current post tackles the problem of chaining (or linking) multiple lambda calls which seem to be differently optimized by the HotSpot Just In Time Compiler C2 (i.e. JIT C2)…