This post is meant to serve as a technical overview of the Concurrent Scavenge (CS) Garbage Collection (GC) policy, from the perspective of a Just-In-Time (JIT) compiler. It explains various CS and GC concepts, serving as background to later discussion on implementation details in JIT compiler’s Code Generator (CodeGen) and Optimizer, as well as the…
Tag: performance
OpenJ9 shared classes with Eclipse Equinox 4.9+
The blog post Eclipse OpenJ9 performance; a bake-off on Windows mentions the Class Data Sharing (CDS) adapter required to enable OpenJ9 shared classes support for the OSGi Equinox framework. Since Eclipse Equinox 4.9 2018-09, the CDS adapter is included with Equinox builds. When running with an Eclipse OpenJ9 JVM, to enable shared classes support for the…
Shared classes cache now supports fat jar
Recently OpenJ9 extended the class sharing feature to include fat jars (issue here). Starting from v0.9.0, applications running with fat jar, like Spring Boot, will now also benefit from the faster start-up time and reduced memory footprint from the class sharing feature of Eclipse OpenJ9. OpenJ9 class sharing The class sharing feature of Eclipse Openj9…
Inspecting OpenJ9 performance with perf on Linux
Performance is critical to software. Software must perform better than its competitors to gain a competitive edge and acquire a greater market share. Improving performance and resolving performance regression issues for large software systems can be challenging and time consuming. Profiling tools such as Linux perf can help substantially reduce the time to evaluate and…
Eclipse OpenJ9 performance; a bake-off on Windows
To date, all of the experiments we’ve used to showcase the performance of the OpenJ9 JVM were carried out on Linux. So in this article we will look at how OpenJ9 fairs on Windows. Because Windows is often used as a development platform and Eclipse is the most popular integrated development environment written in…
