This page describes a simple example of a polyglot application you can run with GraalVM.
Download or clone the repository and navigate into the
git clone https://github.com/graalvm/graalvm-demos
Build the benchmark. You can manually execute
npm install, but there’s also a
build.sh script included for your convenience.
Export the GraalVM home directory as the
$GRAALVM_HOME and add
$GRAALVM_HOME/binto the path, using a command-line shell for Linux:
and for macOS:
Note that your paths are likely to be different depending on the download location.
Note that this application contains R code, so you need to install the Rlanguage component to add R support to GraalVM, run the GraalVM Updater commandto do it:
gu install R
For more information on using GraalVM Updater please refer to its documentation.
To run the application, you need to execute the
server.js file.You can run it with the following command (or run the
$GRAALVM_HOME/bin/node --polyglot --jvm server.js
If you would like to run the benchmark on a different instance of Node,you can run it with whatever
node you have. However, presumably, the polyglotcapability will not be supported.
GraalVM also supports debugging of polyglot applications and provides a built-inimplementation of the Chrome DevTools Protocol. Add the
This sample application for brevity contains large-ish snippets of codeinside the strings. This is not the best approach for structuring polyglot apps,but it is the easiest to show in a single file.