Thursday, May 2, 2024
HomeJavaMicrosoft Construct of OpenJDK - October 2022 PSU Launch

Microsoft Construct of OpenJDK – October 2022 PSU Launch


We’re pleased to announce the newest patch & safety replace launch for the Microsoft Construct of OpenJDK. You could find the standard updates from the OpenJDK upstream group:

And you may also see the extra work that our crew has put in place in our builds via the launch notes. Beginning with this launch, builders may also see the precise modifications we particularly made to our builds by inspecting the supply code in our newly established Microsoft repositories for jdk17u and jdk11u.

New Experimental Function

On this launch, we’ve got added a brand new experimental function to enhance the outcomes of Escape Evaluation by rising the variety of alternatives for Scalar Substitute. The objective of this function is to simplify object allocation merges to be able to promote Scalar Substitute of the objects concerned within the merge. An easier model of this enhancement has been added to JDK 11, whereas a model that exploits extra alternatives has been added to JDK 17. Discussions on this optimization may be discovered within the hotspot-compiler-dev mailing record. For the newest, evolving model of this optimization, please see the Pull Request presently being reviewed on tip.

When testing the JDK 17 model of this optimization on inner benchmarks, we noticed a rise within the variety of Scalar Replacements of three%-8% throughout a number of workloads, in addition to will increase in throughput of two%. The JDK 11 model of this optimization has demonstrated an 8% lower in common P99 latency in a memory-hungry manufacturing service. Additional efficiency testing is pending.

To allow this function, builders should use the next JVM flags:

-XX:+UnlockExperimentalVMOptions -XX:+ReduceAllocationMerges

Be part of the dialogue on the brand new Escape Evaluation work by visiting our respective GitHub repositories for Escape Evaluation work on OpenJDK 11, and Escape Evaluation work on OpenJDK 17.

Supply code now on GitHub

Builders can see the modifications we utilized to our builds of OpenJDK by wanting on the GitHub diffs between our supply code, and those upstream for each OpenJDK 17 and OpenJDK 11:

We’ve got been busy attempting to get our inner mirror of OpenJDK out to the place our group lives on GitHub and with the October launch, we’ve lastly achieved it. There shall be quite a lot of work to get our processes within the state we’d like them coming over the following few months, however we’re pleased to lastly be the place builders need us to be. The one factor we’ve left inner is our construct course of for which we drive utilizing Azure DevOps pipelines reasonably than the GitHub Actions workflows. Observe that our Pull Request course of has been altered to be absolutely out within the open and is like what’s outlined within the OpenJDK sources.

Container Photos

We’ve got additionally up to date our container pictures, and we now embrace Microsoft CBL-Mariner 2.0 in addition to OpenJDK 8 pictures (primarily based on CBL Mariner) with Eclipse Temurin binaries. Photos can be found within the following repository:

mcr.microsoft.com/openjdk/jdk:<tag>

Record of tags

Base OS OpenJDK 17 OpenJDK 11 OpenJDK 8
Ubuntu 20.04 17-ubuntu 11-ubuntu N/A
CBL Mariner 2.0 17-mariner 11-mariner 8-mariner
CBL Mariner 1.0 17-mariner-cm1 11-mariner-cm1 N/A
CBL-Mariner 2.0 Distroless 17-distroless 11-distroless 8-distroless

 

Extra particulars may be discovered within the documentation.

Distroless Photos

Distroless pictures primarily based on CBL-Mariner 2.0 are actually prepared and printed. Particulars on tips on how to use them may be discovered within the documentation.

AArch64/Arm64 pictures

When you have a necessity for AArch64 / Arm64 container pictures, please be a part of the dialogue on GitHub.

Alpine builds

Introduced again in April, we now have builds of OpenJDK for Alpine. Customers who wish to use Alpine inside containers should produce their very own pictures – see documentation. Microsoft won’t produce Alpine-based container pictures. Alternatively, customers are inspired to make use of the CBL-Mariner “Distroless” pictures as an alternative.

Observe on CBL-Mariner 1.0

The Microsoft distribution of Linux CBL-Mariner model 1.0 shall be retired someday in 2023. For that purpose, the prevailing Mariner-based pictures of Microsoft Construct of OpenJDK below tags 11-mariner and 17-mariner have already been up to date to CBL-Mariner 2.0. Customers who  want to stay on CBL-Mariner 1.0 till then, should change their dependencies to the tags 11-mariner-cm1​​​​​​​ and 17-mariner-cm1, figuring out that these pictures will finally be dropped.

Observe on CBL-D

Following steerage from the Microsoft CBL-D crew, we’ve got unlisted – although it stays accessible for now – the CBL-D primarily based pictures of Microsoft Construct of OpenJDK. These pictures will not be up to date, and customers should transfer to CBL-Mariner 2.0 as quickly as doable. Alternatively, customers could decide to the Ubuntu-based pictures.

Finish of Life: Azul Zulu for Azure

Introduced in June thirtieth, 2021, the Azul Zulu for Azure builds of OpenJDK are not supported and not up to date. The repositories holding these binaries have been eliminated or shall be eliminated sooner or later by Azul Techniques. Customers are urged to maneuver to Microsoft Construct of OpenJDK binaries for Java 11 and Java 17, or Eclipse Temurin for Java 8.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments