Loading...
Please wait, while we are loading the content...
Similar Documents
Tracing vs. Partial Evaluation Comparing Meta-Compilation Approaches for Self-Optimizing Interpreters
| Content Provider | CiteSeerX |
|---|---|
| Abstract | Tracing and partial evaluation have been proposed as meta-compilation techniques for interpreters. They promise that programs executing on simple interpreters can reach per-formance 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. Tracing and partial eval-uation approach this meta-compilation from two ends of a spectrum, resulting in different sets of tradeoffs. This study investigates both approaches in the context of self-optimizing interpreters, a technique for building fast abstract-syntax-tree interpreters. Based on RPython for trac-ing and Truffle for partial evaluation, we assess the two ap-proaches by comparing the impact of various interpreter op-timizations on the performance. The goal is to determine, whether either approach yields clear performance or engi-neering benefits. We find that tracing and partial evaluation both reach the same level of performance. With respect to the engineering, tracing has however significant benefits, be-cause it requires language implementers to apply fewer op-timizations to reach the same level of performance. |
| File Format | |
| Access Restriction | Open |
| Content Type | Text |