Oracle cited multiple advantages GraalVM has over Nashorn:
- The ability to execute additional languages including Python, R, and Ruby.
- Better performance than existing JVM-based engines and ability to use the GraalVM compiler’s advanced optimizations.
To help developers migrate from Nashorn to GraalVM, Oracle Labs has added a compatibility flag (
—nashorn-compat) that removes the need for tedious rewrites to move a Nashorn application to GraalVM.
A common polyglot API in GraalVM provides interoperability with supported languages. Values can be passed from one language to another. No copying or marshalling is necessary.
GraalVM can run either in the context of the JDK 8-based GraalVM installation or the standard JDK installation starting with JDK 11, which arrives in September. Although GraalVM will not be included with the JDK, it can run on a standard JDK 11 installation by adding it to the module path. GraalVM also can be embedded as part of platforms such as OpenJDK or Node.js, as well as within a database.
Where to download GraalVM
You can download GraalVM from the GraalVM webpage, which links to GitHub for the free Community Edition version and to the Oracle Technology Network for the paid Enterprise Edition version.