Oracle Unveils GraalVM for JDK 24 with ML-Enabled Profile Inference, Boosting Peak Performance by 8%

Max Carter

Max Carter

March 26, 2025 · 3 min read
Oracle Unveils GraalVM for JDK 24 with ML-Enabled Profile Inference, Boosting Peak Performance by 8%

Oracle has announced the release of GraalVM for JDK 24, an alternative Java Development Kit that leverages machine learning (ML) to optimize performance. The latest update introduces a new generation of ML-enabled profile inference, called GraalNN, which provides context-sensitive static profiling with neural networks. According to Oracle, this innovation has resulted in a significant 7.9% peak performance improvement on average on a wide range of microservices benchmarks, including Micronaut, Spring, and Quarkus.

The GraalVM for JDK 24 release, available for download from graalvm.org, marks a significant milestone in the development of the Java ecosystem. By harnessing the power of ML, Oracle's GraalNN technology enables powerful optimizations and better peak performance of native images. This is achieved through the use of a pre-trained ML model that predicts execution probabilities of control flow graph branches, allowing for more efficient compilation of Java applications to native binaries.

Native Image, a key component of Oracle GraalVM, compiles a Java application to a native binary, resulting in faster startup times, improved peak performance, and reduced memory and CPU usage compared to traditional Java Virtual Machine (JVM) execution. The integration of GraalNN with Native Image is expected to have a profound impact on the performance and efficiency of Java-based applications.

In addition to GraalNN, the GraalVM for JDK 24 release introduces several other notable features, including SkipFlow, an extension of points-to-flow analysis that tracks primitive values and evaluates branching conditions during the run of the analysis. This innovation enables the production of smaller binaries without increasing build time, making image builds slightly faster with SkipFlow enabled.

Oracle has also taken a significant step towards Java agent support at runtime, allowing agents to run and transform classes dynamically, rather than being constrained to build time. Furthermore, the company has continued to optimize more vector API operations on GraalVM, with more operations now efficiently compiled to SIMD (single instruction, multiple data) code, where supported by the target hardware.

Other improvements in GraalVM for JDK 24 include experimental support for jcmd on Linux and macOS, additional security features in Native Image, and support for Java module system-based service loading. The "customTargetConstructorClass" field has been removed from serialization JSON metadata, and all possible constructors are now registered by default when registering a type for serialization.

The release of GraalVM for JDK 24 marks a significant milestone in Oracle's efforts to drive innovation and performance in the Java ecosystem. As the technology continues to evolve, developers can expect to see further improvements in performance, efficiency, and functionality, ultimately leading to more robust and scalable Java-based applications.

Similiar Posts

Copyright © 2024 Starfolk. All rights reserved.