DLS 2016
Tue 1 Nov 2016 Amsterdam, Netherlands
co-located with SPLASH 2016
Tue 1 Nov 2016 14:45 - 15:10 at Matterhorn 1 - Session 3 Chair(s): Laurence Tratt

The R language, from the point of view of language design and implementation, is a unique combination of various programming language concepts. It has functional characteristics like lazy evaluation of arguments, but also allows expressions to have arbitrary side effects. Many runtime data structures, for example variable scopes and functions, are accessible and can be modified while a program executes. Several different object models allow for structured programming, but the object models can interact in surprising ways with each other and with the base operations of R.

R works well in practice, but it is complex, and it is a challenge for language developers trying to improve on the current state-of-the-art, which is the reference implementation – GNU R. The goal of this work is to demonstrate that, given the right approach and the right set of tools, it is possible to create an implementation of the R language that provides significantly better performance while keeping compatibility with the original implementation.

In this paper we describe novel optimizations backed up by aggressive speculation techniques and implemented within FastR, an alternative R language implementation, utilizing Truffle – a JVM-based language development framework developed at Oracle Labs. We also provide experimental evidence demonstrating effectiveness of these optimizations in comparison with GNU R, as well as Renjin and TERR implementations of the R language.

Tue 1 Nov

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 15:10
Session 3DLS at Matterhorn 1
Chair(s): Laurence Tratt King's College London
13:30
25m
Talk
Parallel Virtual Machines with RPython
DLS
Remigius Meier ETH Zurich, Switzerland, Armin Rigo PyPy.org, Switzerland, Thomas Gross ETH Zurich
DOI
13:55
25m
Talk
Building Efficient and Highly Run-Time Adaptable Virtual Machines
DLS
Guido Chari University of Buenos Aires, Argentina, Diego Garbervetsky University of Buenos Aires, Argentina, Stefan Marr Johannes Kepler University Linz
DOI Pre-print
14:20
25m
Talk
Efficiently Implementing the Copy Semantics of MATLAB's Arrays in JavaScript
DLS
Vincent Foley-Bourgon McGill University, Canada, Laurie Hendren McGill University, Canada
DOI
14:45
25m
Talk
Optimizing R Language Execution via Aggressive Speculation
DLS
Lukas Stadler Oracle Labs, Austria, Adam Welc Oracle Labs, USA, Christian Humer Oracle Labs, Switzerland, Mick Jordan Oracle Labs, USA
DOI