Balanced GC performance improvements: Eden + heap sizing improvements

Open J9’s Balanced GC policy is a region based, generational collector, which aims to provide a bound on worst case pause times, by eliminating the need for frequent global garbage collections. A more detailed description of how Balanced GC policy works, along with some of its advantages over the Gencon GC policy, can be found…

Innovations for Java running in containers

This blog is co-authored by Hang Shao, Marius Pirvu, Tobi Ajila and Vijay Sundaresan. 1.     Introduction Over a decade ago, the common form of deployment was large monolithic applications that handled all the business logic. In this model applications typically had long deployment windows and they were typically deployed on large on-prem server farms. Since…

Startup Performance of Tomcat in Docker

Tomcat startup time is reduced by ~30% by enabling the Shared Class Cache (SCC) in the Docker images. In my earlier blog , I measured the Performance of Tomcat with Tradelite7 Application without using any docker images and we saw the boost of Startup time with default Shared Cache in OpenJ9. In this article, let’s…

Quarkus and Eclipse OpenJ9: Exceptional Performance across Platforms

The Quarkus framework has gained tremendous popularity in the last few months. This success is due in part to the runtime characteristics expressed as Supersonic, Subatomic Java on the project’s website. In other words, Quarkus is extremely fast to start up and extremely light in terms of memory footprint when run in “native mode” (native mode is essentially…

Tomcat-Tradelite7 Performance of OpenJ9 with default Shared Cache

Tomcat is a very popular and widely used application server. In this article I will show how Tomcat users can get some good performance boosts by using the Eclipse OpenJ9 JVM. In different articles, we observed that OpenJDK8-OpenJ9 performed better with Startup and Footprint compared to OpenJDK8-HotSpot. Now with Shared Cache enabled by default with…