Graal: High-Performance Polyglot Runtime

Conference

lang Programming languages

Current language runtimes often execute in isolation -- running in different processes, using different compilation infrastructure, and maintaining their own garbage collectors. There is no reuse of infrastructure and cross-language communication is inefficient. Our vision of the future of execution runtimes is Graal: an integrated, polyglot, high-performance execution environment. Its core is a new just-in-time compiler for the Java Virtual Machine. Graal doesn’t only support Java-based languages such as Scala or Kotlin, but also provides a dynamic language implementation framework that is used to implement JavaScript, Ruby, and R. Additionally, even lower level languages such as C, C++, Go, and Rust are integrated into the ecosystem.

This session provides an overview of the new capabilities Graal enables for seamless language interoperability while simultaneously providing world-class performance for each individual language. Lastly, it will preview a low footprint ahead-of-time compiled Graal-enabled VM for embedded environments and microservices that require fast startup.

Thomas Wuerthinger Thomas Wuerthinger

Thomas Wuerthinger is a Senior Research Director at Oracle Labs leading programming language implementation teams for languages including Java, JavaScript, Ruby, and R. He is the architect of the Graal compiler and the Truffle self-optimizing runtime system. Previously, he worked on the Crankshaft optimizing compiler of V8 at Google, and the Maxine research virtual machine at Sun Microsystems. He received a PhD degree from JKU Linz for his research about dynamic code evolution.

Aleksandar Prokopec Aleksandar Prokopec

Aleksandar is a principal researcher at Oracle Labs, working on the Graal language infrastructure project. His research is focused on composable, scalable and modular programming language abstractions for large-scale distributed computing, as well as implementation of frameworks, languages and runtimes for distributed programming.

Previously, Aleksandar worked at Google on cloud computing infrastructure and big data analytics for Google Maps. Before that, he was working as a research assistant at EPFL in Switzerland, working on Scala development under the supervision of dr. Martin Odersky.