2015
DOI: 10.1145/2858965.2814275
|View full text |Cite
|
Sign up to set email alerts
|

Tracing vs. partial evaluation: comparing meta-compilation approaches for self-optimizing interpreters

Abstract: Tracing and partial evaluation have been proposed as metacompilation techniques for interpreters to make just-in-time compilation language-independent. They promise that programs executing on simple interpreters can reach performance of the same order of magnitude as if they would be executed on state-of-the-art virtual machines with highly optimizing just-in-time compilers built for a specific language. Tracing and partial evaluation approach this metacompilation from two ends of a spectrum, resulting in diff… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
11
0

Year Published

2016
2016
2019
2019

Publication Types

Select...
3
2

Relationship

4
1

Authors

Journals

citations
Cited by 9 publications
(11 citation statements)
references
References 32 publications
0
11
0
Order By: Relevance
“…We may lead to conclusions that may not generalize to other programs. To mitigate this threat we selected a set of benchmarks included in the literature of the field [12,14]. We also evaluated the MOP in use cases appearing in previous works (read-only [2], tracing [15]).…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…We may lead to conclusions that may not generalize to other programs. To mitigate this threat we selected a set of benchmarks included in the literature of the field [12,14]. We also evaluated the MOP in use cases appearing in previous works (read-only [2], tracing [15]).…”
Section: Discussionmentioning
confidence: 99%
“…TruffleSOM [12,14] is a SOM implementation using Truffle. When used in combination with Graal it is just 2.7x slower than Java for a set of classic VM benchmarks (cf.…”
Section: Trufflesommentioning
confidence: 99%
“…This enables the interpreter's implementers to employ the benefits of trace-based compilation without having to create their own dedicated tracing compiler. Furthermore, this makes it possible for developers to rapidly create interpreters with an acceptable performance level [16].…”
Section: Difference With Meta-tracingmentioning
confidence: 99%
“…The Truffle [23] and RPython [4] frameworks address this problem by reducing the language-specific engineering that is required by applying partial evaluation and meta-tracing to relatively simple interpreters. It has recently been shown [16] that the technique of metatracing is capable of lifting the performance of a meta-traced interpreter to the same order of magnitude of a dedicated just-in-time compiler, while requiring less engineering effort from the developers of this interpreter.…”
Section: Introductionmentioning
confidence: 99%
“…All benchmarks reach their peak performance within the irst 5 iterations on HotSpot C2. For a more detailed discussion about Trule warm-up performance, we would like to refer the reader to [19].…”
Section: Warm-up Performancementioning
confidence: 99%