Exploring Aspects of Polyglot High-Performance Virtual Machine GraalVM
M. \v{S}ipek, B. Mihaljevi\'c, A. Radovan

TL;DR
This paper analyzes GraalVM, a high-performance polyglot virtual machine written in Java, focusing on its architecture, features, and how it addresses interoperability and performance issues across multiple programming languages.
Contribution
It provides a detailed examination of GraalVM's architecture, its optimization techniques, and compares its performance with specialized competitors in an academic setting.
Findings
GraalVM supports multiple languages including Java, JavaScript, C/C++, Python, Ruby, R.
Graal's Java-based compiler enables faster maintenance and optimization.
GraalVM demonstrates competitive performance against specialized language runtimes.
Abstract
Contemporary software often becomes vastly complex, and we are required to use a variety of technologies and different programming languages for its development. As interoperability between programming languages could cause high overhead resulting in a performance loss, it is important to examine how a current polyglot virtual machine with a compiler written in a high-level object-oriented language deals with it. OpenJDK's Project Metropolis presented the GraalVM, an open-source, high-performance polyglot virtual machine, mostly written in Java. This paper presents GraalVM's architecture and its features; furthermore, examining how it resolves common interoperability and performance problems. GraalVM makes software ecosystem productive when combining various programming languages, for example, Java, JavaScript, C/C++, Python, Ruby, R, and others. The vital part of GraalVM is the Graal…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
