Oracle Releases GraalVM Enterprise

The GraalVM team at Oracle Labs today announced the release of an Enterprise Edition of GraalVM, its "universal virtual machine" built on Java SE. GraalVM Enterprise is the commercial version of the open source, polyglot JVM designed to provide better isolation and greater agility for enterprises in cloud and hybrid environments.

GraalVM, the first version of which was released in April 2018, is an extension of the JVM designed to run applications written in a range of languages, including JavaScript, Python, Ruby and R; JVM-based languages, such as Java, Scala and Kotlin; and LLVM-based languages, such as C and C++.

Graal is the Java-based JIT compiler (JEP 317) that is the basis of the experimental Ahead-of-Time (AOT) compiler introduced in JDK 9.

The marquee feature of this release is a set of optimization algorithms designed to "seek out opportunities to accelerate application processing" by rearranging compiled code. Oracle claims that the addition of these and other algorithms typically provide an additional 20% application performance improvement, while simultaneously reducing the memory footprint.

The company cites three examples in its announcement of this release: Path Duplication, which provides specializes optimizations for each code path based on profiling; Aggressive Method Inlining and Escape Analysis, which moves unnecessary function calls in the GraalVM Enterprise Compiler; and Advanced Vectorization, which uses optimistic aliasing and high-level map/reduce/fill vector analysis to vectorize complex loops.

Oracle is claiming serious performance improvements in this release, citing 3x performance improvements on a variety of measurements rendered by the new Renaissance JVM benchmarking suite, which is design for testing JIT compilers, garbage collectors, profilers, analyzers and other tools. The benchmark and performance results are maintained by Charles University in Prague, the company said in a statement.

The list of core features in GraalVM also includes:

  • GraalVM Native Image, which allows scripted applications to be compiled ahead of time into a native machine-code binary
  • GraalVM Compiler, which generates compiled code to run applications on a JVM, standalone, or embedded in another system
  • Polyglot Capabilities, which supports Java, Scala, Kotlin, JavaScript and Node.js
  • Language Implementation Framework, which enables implementing any language for the GraalVM environment
  • LLVM Runtime, which permits native code to run in a managed environment in GraalVM Enterprise

Two versions of GraalVM are currently available: along with the Enterprise Edition there's a free Community Edition. The free version was built from the GraalVM sources available on GitHub, and it's available for development and production use.

GraalVM Enterprise is available free for development and evaluation usage from the Oracle Technology Network. It's available for purchase today and is free (including support) on Oracle Cloud. It's also built into the Oracle Cloud Developer Image, which includes the latest tools, OCI SDKs, Terraform templates and database connectors.

About the Author

John K. Waters is the editor in chief of a number of sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].