INGI Seminar - An Introduction to Truffle and Graal or how to get a just-in-time compiler by writing an interpreter by Benoit Daloze

May 22, 2017

12:00

Louvain-la-Neuve

Shannon Room - Maxell building a.105

Truffle is framework to write a programming language implementation as an Abstract-Syntax-Tree Interpreter. Together with the Graal Just-in-Time compiler, it achieve competitive performance with the best just-in-time compilers such as V8 for JavaScript.

In particular, the Ruby implementation I am working on, TruffleRuby achieves speedups of more than 10x faster than the standard implementation on
classic benchmarks.

We also observed impressive speedups for Mozart-Graal,a new implementation of the Oz language using Truffle, also the subject of a master thesis at UCL. Graal and Truffle can be seen as a way to obtain a Just- in-Time compiler by only writing an AST interpreter for the language, which is itself the simplest way to implement a language. This is possible in great parts thanks to an application of Partial Evaluation, an idea described in the 1983 and now made a reality.

Benoit Daloze is a PhD Bstudent at JKU university in Austria where most of the Truffle/Graal team is located. His research focuses on concurrency in Ruby and dynamic languages, specifically on how to make these languages safer and scalable while having no overhead over single-threaded execution.

Categories Events: