2014
DOI: 10.1109/ms.2014.98
|View full text |Cite
|
Sign up to set email alerts
|

Are We There Yet?: Simple Language Implementation Techniques for the 21st Century

Abstract: Abstract-With the rise of domain-specific languages (DSLs), research in language implementation techniques regains importance. While DSLs can help to manage the domain's complexity, it is rarely affordable to build highly optimizing compilers or virtual machines, and thus, performance remains an issue. Ideally, one would implement a simple interpreter and still reach acceptable performance levels. RPython and Truffle are two approaches that promise to facilitate language implementation based on simple interpre… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
6
0

Year Published

2015
2015
2016
2016

Publication Types

Select...
4
3

Relationship

7
0

Authors

Journals

citations
Cited by 10 publications
(6 citation statements)
references
References 11 publications
0
6
0
Order By: Relevance
“…Often language implementations sacrifice the clarity of simple abstract machines for lower-level runtime models-with a meta-tracing JIT such as RPython, the high-level approach can perform well. More generally, Pycket demonstrates the value of the RPython infrastructure (Marr et al 2014): We have built in one year and 12,000 LOC a compiler competitive with existing mature systems. We encourage other implementors to consider if RPython can provide them with the same leverage.…”
Section: Resultsmentioning
confidence: 99%
“…Often language implementations sacrifice the clarity of simple abstract machines for lower-level runtime models-with a meta-tracing JIT such as RPython, the high-level approach can perform well. More generally, Pycket demonstrates the value of the RPython infrastructure (Marr et al 2014): We have built in one year and 12,000 LOC a compiler competitive with existing mature systems. We encourage other implementors to consider if RPython can provide them with the same leverage.…”
Section: Resultsmentioning
confidence: 99%
“…In combination with the Graal JIT compiler [24], selfoptimizing interpreters can reach performance of the same order of magnitude as Java on top of HotSpot [13]. To reach this performance, Truffle applies partial evaluation on the specialized ASTs to determine the compilation unit that corresponds to a relevant part of a guest-language's program, which is then optimized and compiled to native code by Graal using classic compiler optimizations, inlining, and escape analysis.…”
Section: Truffle and Graalmentioning
confidence: 99%
“…In previous work, we studied whether both approaches deliver on their performance promise [21]. However, we compared a bytecode-based with a self-optimizing AST interpreter limiting the explanatory value of the results.…”
Section: Related Workmentioning
confidence: 99%