Copy-and-Patch Just-in-Time Compiler for R
Copy-and-patch is a technique for building baseline just-in-time compilers from existing interpreters. It has been successfully applied to languages such as Lua and Python. This paper reports on our experience using this technique to implement a compiler for the R programming language. We describe how this new compiler integrates with the GNU R virtual machine, present the key optimizations we implemented, and evaluate the feasibility of this approach for R. Copy-and-patch also allows extensions such as integration of the feedback recording required by multi-tier compilation. Our evaluation on 57 programs demonstrates very fast compilation times (980 bytecode instructions per millisecond), reasonable performance gains (1.15x–1.91x speedup over GNU R), and manageable implementation complexity.
Wed 15 OctDisplayed time zone: Perth change
10:50 - 12:05 | |||
10:50 5mDay opening | Welcome VMIL | ||
10:55 25mResearch paper | Copy-and-Patch Just-in-Time Compiler for R VMIL Matěj Kocourek Charles University, Filip Křikava Czech Technical University in Prague, Jan Vitek Northeastern University DOI | ||
11:25 25mResearch paper | ASTro: An AST-based Reusable Optimization Framework VMIL Koichi Sasada Stores, Inc. | ||
11:50 15mShort-paper | Evaluating Candidate Instructions for Reliable Program Slowdown at the Compiler Level - Towards Supporting Fine-grained Slowdown for Advanced Developer Tooling VMIL DOI Pre-print | ||