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.