Oracle sweetens Java SE subscriptions with a spoonful of free ‘GraalVM’ runtime said to significantly speed Java

Pre-compilation tech means faster startup and lower memory overhead, to make Java cool for microservices


Oracle has sweetened its Java SE subscriptions by tossing in a free entitlement to use GraalVM, a new universal virtual machine that Big Red says runs just about anything faster, anywhere.

Reader: The Register confesses GraalVM had escaped our attention until today. The project’s GitHub page tells us it’s “a universal virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Clojure, Kotlin, and LLVM-based languages such as C and C++.”

Graal was launched as version 19.0 in late 2019. That odd number may well be due to it being the spawn of an old Sun project that came to be known as the Maxine Research VM.

Version 21.0 landed in January 2021, complete with a new installable component, named espresso, which provides a JVM implementation written in Java.

The project’s FAQ explains that it can run “embedded in OpenJDK, Oracle JDK or Node.js platforms, standalone, or embedded in data stores like the Oracle Database.” Graal accelerate the execution of applications written in Java and other JVM languages, and also offers runtimes for JavaScript, Ruby and Python.

Java image by Gil C via Shutterstock

Oracle's new Java SE subs: Code and support for $25/processor/month

READ MORE

GraalVM promises to speed up applications with a superior compiler plus the ability to compile code ahead of time.

“Native Image is a technology to ahead-of-time compile Java code to a standalone executable, called a native image,” Graal explains. “This executable includes the application classes, classes from its dependencies, runtime library classes, and statically linked native code from JDK. It does not run on the Java VM, but includes necessary components like memory management, thread scheduling, and so on from a different runtime system, called ‘Substrate VM’.”

“The resulting program has faster startup time and lower runtime memory overhead compared to a JVM”.

Here’s how the GraalVM team depict the project’s workings.

GraalVM architecture

Click to enlarge

“The virtualization layer represents programming languages, provided by GraalVM,” they explain. “The execution of guest programming languages, namely JavaScript, Ruby, R, Python and LLVM bitcode, in the same runtime as the host JVM-based application is now down-to-earth. The host language and guest languages can directly interoperate with each other and pass data back and forth in the same memory space.”

And that can all happen without re-writing any of your existing code.

The links we’ve provided in the text above offer lots more information about GraalVM.

So now let’s try to explain why Oracle is bundling a hitherto-obscure piece of tech with one of its flagship offerings.

GraalVM promises faster startup time and lower runtime memory overhead compared to a JVM

“The inclusion of GraalVM Enterprise as an entitlement makes Oracle Java even more appealing for microservices and cloud-native deployments that demand near-instantaneous start-up and low resource consumption,” Oracle says in its announcement about the GraalVM entitlement.

Which makes a lot of sense because while Java SE remains more than useful, its beginnings were 20 years before microservices and cloud-native apps became prominent. Yet there are plenty of Java-centric applications out there and as always their operators will be looking for ways to wring some more years out of that code rather than start afresh.

Giving away GraalVM might just give those users and developers an on-ramp that keeps Java SE relevant and therefore makes it more likely they’ll keep paying for the product.

GraalVM is offered under the same Gnu GPL v2 licence as Java itself. The Enteprise licence is an Oracle offer.

And guess what? Oracle's also a user. The company says its own cloud infrastructure "experienced a 25 percent reduction in garbage collection time and a 10 percent improvement in transactions/second" by using the code. ®


Biting the hand that feeds IT © 1998–2021