Research on language implementation techniques has regained importance with the rise of domain-specific languages (DSLs). Although DSLs can help manage a domain’s complexity, building highly optimizing compilers or virtual machines is rarely affordable. So, performance remains an issue. Ideally, you would implement a simple interpreter and still be able to achieve acceptable performance. RPython and Truffle are implementation techniques based on simple interpreters; they promise to perform at the same order of magnitude as highly optimizing virtual machines. This case study compares the two techniques to identify their similarities, weaknesses, and areas for further research.
%0 Journal Article
%1 marr2014there
%A Marr, Stefan
%A Pape, Tobias
%A De Meuter, Wolfgang
%B IEEE Soft
%D 2014
%J IEEE Software
%K Compilers ComputerProgramming DSL Interpreter Interpreters LanguageImplementation MeMyPublication Performance ProgrammingLanguages RPython SOM SelfOptimizing Smalltalk SoftwareEngineering Truffle VirtualMachines myown
%N 5
%P 60--67
%R 10.1109/MS.2014.98
%T Are We There Yet? Simple Language Implementation Techniques for the 21st Century
%V 31
%X Research on language implementation techniques has regained importance with the rise of domain-specific languages (DSLs). Although DSLs can help manage a domain’s complexity, building highly optimizing compilers or virtual machines is rarely affordable. So, performance remains an issue. Ideally, you would implement a simple interpreter and still be able to achieve acceptable performance. RPython and Truffle are implementation techniques based on simple interpreters; they promise to perform at the same order of magnitude as highly optimizing virtual machines. This case study compares the two techniques to identify their similarities, weaknesses, and areas for further research.
@article{marr2014there,
abstract = {Research on language implementation techniques has regained importance with the rise of domain-specific languages (DSLs). Although DSLs can help manage a domain’s complexity, building highly optimizing compilers or virtual machines is rarely affordable. So, performance remains an issue. Ideally, you would implement a simple interpreter and still be able to achieve acceptable performance. RPython and Truffle are implementation techniques based on simple interpreters; they promise to perform at the same order of magnitude as highly optimizing virtual machines. This case study compares the two techniques to identify their similarities, weaknesses, and areas for further research.},
added-at = {2014-07-16T16:25:23.000+0200},
appendix = {https://stefan-marr.de/papers/ieee-soft-marr-et-al-appendix-performance-evaluation/},
author = {Marr, Stefan and Pape, Tobias and De Meuter, Wolfgang},
biburl = {https://www.bibsonomy.org/bibtex/2c5e0f03749a6e4b18d92461f5a015821/gron},
blog = {https://stefan-marr.de/2014/09/are-we-there-yet/},
day = 15,
doi = {10.1109/MS.2014.98},
html = {https://stefan-marr.de/papers/ieee-soft-marr-et-al-are-we-there-yet/},
impactfactor2014 = {1.053},
impactfactor5y2014 = {1.397},
interhash = {cf1741034f10e8abf2bfe2a9e30ebbc5},
intrahash = {c5e0f03749a6e4b18d92461f5a015821},
issn = {0740-7459},
journal = {IEEE Software},
keywords = {Compilers ComputerProgramming DSL Interpreter Interpreters LanguageImplementation MeMyPublication Performance ProgrammingLanguages RPython SOM SelfOptimizing Smalltalk SoftwareEngineering Truffle VirtualMachines myown},
month = {September},
number = 5,
numpages = {8},
pages = {60--67},
pdf = {https://stefan-marr.de/downloads/ieee-soft-marr-et-al-are-we-there-yet.pdf},
series = {IEEE Soft},
timestamp = {2022-08-29T20:48:42.000+0200},
title = {Are We There Yet? Simple Language Implementation Techniques for the 21st Century},
volume = 31,
year = 2014
}