Showing posts with label GraalVM Technology. Show all posts
Showing posts with label GraalVM Technology. Show all posts

Monday, May 13, 2024

Announcing Oracle GraalVM for JDK 22

Oracle is proud to announce the general availability of Oracle GraalVM for JDK 22, and getting started is easier than ever!

Along with performance, stability and feature updates, Oracle GraalVM for JDK 22 includes support for many JDK Enhancement Proposals (JEP), including preview enhancements. The table below summarizes JDK 22 JEP support when using the Graal JIT on the JVM and when using GraalVM Native Image ahead-of-time compilation.

Announcing Oracle GraalVM for JDK 22

Oracle GraalVM for JDK 22 is not a long-term support (LTS) release, therefore it will receive updates only until it is superseded in six months by Oracle GraalVM for JDK 23. Oracle GraalVM for JDK 21 (released on September 19, 2023) is the most recent LTS release.

Source: oracle.com

Thursday, January 11, 2024

Unleashing the Power of Oracle GraalVM for JDK 21

Introduction


In the ever-evolving landscape of Java Development, staying ahead of the curve is not just a choice; it's a necessity. The advent of JDK 21 brings forth a technological marvel, and we, at Oracle Java Certifed, are excited to guide you through the immense capabilities of Oracle GraalVM, propelling your Java applications to new heights.

Understanding Oracle GraalVM


What sets GraalVM Apart?

Oracle GraalVM, often hailed as the secret weapon for developers, is a high-performance runtime that supports various languages, including Java, JavaScript, Python, Ruby, and more. What distinguishes GraalVM is its ability to provide unmatched speed and efficiency, transcending the limitations of conventional Java Development Kits.

Unleashing the Power of Oracle GraalVM for JDK 21

Key Features of Oracle GraalVM

1. Polyglot Programming: Embrace a polyglot approach, enabling seamless integration of multiple languages within the same application.

2. Ahead-of-Time Compilation (AOT): Boost your application's startup time and overall performance with GraalVM's AOT compilation, a game-changer for resource-intensive applications.

3. Native Image Support: Transform your Java applications into standalone executables with GraalVM's native image support, reducing memory footprint and enhancing deployment flexibility.

4. Extended Ecosystem Compatibility: GraalVM ensures compatibility with a vast ecosystem of libraries and frameworks, allowing developers to leverage existing tools effortlessly.

Harnessing the Power of JDK 21


Unveiling JDK 21 Features

Record Types Revolutionize Data Handling

In JDK 21, the introduction of record types signifies a paradigm shift in how developers handle data. With a concise syntax and automatic generation of methods like toString(), equals(), and hashCode(), record types enhance code readability and reduce boilerplate.

Pattern Matching for Switch Statements

JDK 21 introduces enhanced pattern matching for switch statements, simplifying code structures and making it more expressive. This feature streamlines the process of writing clear and concise code for complex scenarios.

Oracle GraalVM and JDK 21 Synergy

Performance Boost with Just-In-Time Compilation

The seamless integration of Oracle GraalVM with JDK 21 brings forth a synergy that developers dream of. The combination of GraalVM's Just-In-Time Compilation and JDK 21's powerful features results in unparalleled performance gains for your Java applications.

Polyglot Possibilities in Action

Imagine a scenario where your application seamlessly incorporates Java, JavaScript, and Python components. Oracle GraalVM, coupled with JDK 21, makes this a reality, opening the door to a world of polyglot possibilities that were once considered complex and challenging.

Implementation Best Practices


Incorporating Oracle GraalVM and JDK 21 in Your Project

1. Evaluate Compatibility: Before migration, assess the compatibility of your existing codebase with Oracle GraalVM and JDK 21 to ensure a smooth transition.

2. Optimize for Native Image: Leverage GraalVM's native image support by optimizing your application for better performance and reduced resource consumption.

3. Explore Polyglot Scenarios: Identify areas in your project where a polyglot approach could enhance functionality, and leverage GraalVM's capabilities accordingly.

Conclusion

In conclusion, Oracle GraalVM for JDK 21 is not just an upgrade; it's a leap into the future of Java development. The powerful features of JDK 21, coupled with the unmatched capabilities of Oracle GraalVM, position your applications for success in an increasingly competitive landscape.

Wednesday, January 3, 2024

Announcing GraalVM Enterprise in OCI Code Editor and Cloud Shell

Today, we are announcing that you can use GraalVM Enterprise directly in Oracle Cloud Infrastructure (OCI) Code Editor and Cloud Shell, at no additional cost. This means you can now edit and deploy high-performance Java, Spring Boot, and Micronaut application code from a browser, without any installation and configuration.

Announcing GraalVM Enterprise in OCI Code Editor and Cloud Shell

GraalVM is a high-performance JDK distribution that accelerates Java workloads. GraalVM Native Image ahead-of-time compilation builds your Java application into a native executable that is small, starts fast, and uses less memory and CPU. Leading Java microservices frameworks such as Spring Boot, Micronaut, Quarkus and Helidon support GraalVM Native Image.

Code Editor enables you to edit and deploy code directly from the Oracle Cloud Console. You can develop applications, service workflows, and scripts entirely from a browser. This makes it easy to rapidly prototype cloud solutions, try new services, and accomplish quick coding tasks.

Cloud Shell is a free-to-use browser-based terminal accessible from the Oracle Cloud Console. It provides access to a Linux shell with preinstalled developer tools and a pre-authenticated OCI CLI. You can use the shell to interact with OCI resources, follow labs and tutorials, and quickly run utility commands.

Using GraalVM Enterprise in Code Editor and Cloud Shell


GraalVM Enterprise JDK 17 and Native Image are now preinstalled in Cloud Shell, so you don’t have to install and configure a development machine. Code Editor's integration with Cloud Shell gives you direct access to GraalVM Enterprise JDK 17 and Native Image.

Simply login to the Oracle Cloud Console and launch Code Editor (or Cloud Shell). From the Code Editor (or Cloud Shell) terminal window, select GraalVM as your JDK by running the following command:

csruntimectl java set graalvmeejdk-17

Now you are all set to use GraalVM Enterprise JDK 17 and Native Image for your Java, Spring Boot, Micronaut, Helidon, and Quarkus applications. You can use the GraalVM Maven and Gradle plugins to build and package your application as a native executable or JAR file.

Announcing GraalVM Enterprise in OCI Code Editor and Cloud Shell

Source: oracle.com

Wednesday, December 27, 2023

Oracle NetSuite on GraalVM

Oracle NetSuite on GraalVM

Oracle has completely moved its integrated application suite of cloud business software, known as Oracle NetSuite (hereafter, “NetSuite”), to Oracle GraalVM for JDK 17. This recent migration has increased the overall performance of the application suite and reduced its consumption of resources. Keep reading to learn more about the migration, performance gains, and future plans.

The Technology Behind NetSuite


At its heart, NetSuite is a large-scale Java application that runs on more than 10,000 application servers worldwide. Each instance of the application consists of about 100,000 loaded Java classes.

Oracle achieved the seamless transition to Oracle GraalVM without any changes to the application's source code or modifications to its deployment configuration. There were no classpath changes and no dependency conflicts with the libraries used by the application.

Why Oracle GraalVM?


Oracle GraalVM measurably reduced the CPU time needed by NetSuite. Because it runs on tens of thousands of application servers, any reduction in CPU time has the potential to reduce the number of servers. It was simple to switch to the Graal JIT compiler by just replacing the existing JDK installation with no additional configuration.

Java Performance Results


The team tested the performance of NetSuite running with the Graal JIT and the performance with their existing JDK installation. Both were based on the same version of JDK: 17.0.6.

The results were divided into two categories based on the type of NetSuite server: Request Servers and Background Job Servers.

Using Graal JIT reduced the CPU time on both server types, achieving 1.08x speedup on average on the request serving servers (7.39% CPU time reduction) and 1.07x speedup on average on the background job processing servers (6.37% CPU time reduction). On some workloads, the average CPU time usage was reduced even by 13%, resulting in 1.15x speedup.

Executing JavaScript on the JVM


In addition to the acceleration GraalVM provides for Java, NetSuite also leverages Graal.js in its SuiteScript extension language. Built on JavaScript, SuiteScript enables complete customisation and automation of business processes. Using the SuiteScript APIs, core business records and user information can be accessed and manipulated via scripts that are executed at pre-defined events, such as field change or form submission. NetSuite chose Graal.js as their JavaScript runtime because of its support for the latest ECMAScript standards, the ease of migration from Rhino, and its outstanding performance. Graal.js is written using the GraalVM Truffle framework which enables compilation of guest language code (JavaScript in this case) into optimized machine code.

Conclusion and Future Plans


Compared to the previous installation, GraalVM reduced the CPU time consumed by the NetSuite application in the production environment by 6.4–7.4% on average with as much as 13% on some workloads. The transition to GraalVM was as simple as upgrading to the new GraalVM release.

The design of GraalVM enables maintenance as well as the addition of incremental improvements. Therefore, we expect NetSuite to achieve even better performance characteristics in the future thanks to new compiler optimizations and Truffle framework improvements.

Source: oracle.com