GraalVM - New JIT Compiler and Polyglot Runtime for the JVM
Graal is a new just-in-time compiler for the JVM focused on peak performance and multi-language support. Graal offers performance advantages not only to Java code, but also to scripting languages such as JavaScript, Ruby, Python, and R. Additionally, it enables the execution of native code on the JVM via an LLVM-based front end (project Sulong). Languages are executed by Graal via the Truffle framework, which comes with seamless interoperability and polyglot debugging and profiling functionality.
Usage
GraalVM is based on an
Oracle Labs JDK 8 with JVMCI support. For a default download, the bin directory contains the following language execution binaries:
java,
js,
node,
lli,
native-image. With the
gu installer tool, additional languages can be installed, including
ruby,
python, and
R.
Benefits
- Performance - Graal incorporates our research on compiler technology, and offers better peak performance on some workloads than a traditional JVM.
- Polyglot - Java, JavaScript, Ruby, Python, and R are all available at competitive performance within the same execution environment.
- Interoperability - Languages executed in Graal can call each other without overhead and libraries from other languages can be used.
- Embeddability - Embed dynamic languages and native code with sandboxing capabilities.
- Tooling - Graal benefits from JVM-based tooling and all languages share common tooling such as debugging and profiling.
More information: Graalvm.org
For more information on GraalVM, including examples, useage scenarios, and a reference manual, visit
GraalVM.org.