Emergent Mind

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 compiler written in Java, which allows developers to maintain and optimize code faster, simpler, and more efficient, in comparison to traditional compilers in C/C++ languages. Graal can be used as a just-in-time (JIT) or as static, ahead-of-time (AOT) compiler. Graal is an aggressively optimizing compiler implementing common compiler optimizations, with emphasis on outstanding inlining and escape analysis algorithms. This paper compares Graal with some of the best-specialized competitors, and presents our results tested within an academic environment.

We're not able to analyze this paper right now due to high demand.

Please check back later (sorry!).

Generate a summary of this paper on our Pro plan:

We ran into a problem analyzing this paper.

Newsletter

Get summaries of trending comp sci papers delivered straight to your inbox:

Unsubscribe anytime.