• English
    • français
  • Help
  •  | 
  • Contact
  •  | 
  • About
  •  | 
  • Login
  • HAL portal
  •  | 
  • Pages Pro
  • EN
  •  / 
  • FR
View Item 
  •   LillOA Home
  • Liste des unités
  • Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
  • View Item
  •   LillOA Home
  • Liste des unités
  • Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

Tracing vs. Partial Evaluation

  • BibTeX
  • CSV
  • Excel
  • RIS

Comparing Meta-Compilation Approaches for Self-Optimizing Interpreters

Document type :
Communication dans un congrès avec actes
DOI :
10.1145/2814270.2814275
Title :
Tracing vs. Partial Evaluation
Comparing Meta-Compilation Approaches for Self-Optimizing Interpreters
Author(s) :
Marr, Stefan [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stephane [Auteur] refId
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Conference title :
Proceedings of ACM International Conference on Object Oriented Programming Systems Languages & Applications (OOPSLA '15)
City :
Pittsburgh, PA
Country :
Etats-Unis d'Amérique
Start date of the conference :
2015-10-26
English keyword(s) :
self-optimizing interpreters
language implementation
case study
comparison
partial evaluation
meta-tracing
just-in-time compilation
HAL domain(s) :
Informatique [cs]/Langage de programmation [cs.PL]
English abstract : [en]
Tracing and partial evaluation have been proposed as meta-compilation techniques for interpreters to make just-in-time compilation language-independent. They promise that programs executing on simple interpreters can reach ...
Show more >
Tracing and partial evaluation have been proposed as meta-compilation 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 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 tracing and Truffle for partial evaluation, we assess the two approaches by comparing the impact of various optimizations on the performance of an interpreter for SOM, an object-oriented dynamically-typed language. The goal is to determine whether either approach yields clear performance or engineering benefits. We find that tracing and partial evaluation both reach roughly the same level of performance. SOM based on meta-tracing is on average 3x slower than Java, while SOM based on partial evaluation is on average 2.3x slower than Java. With respect to the engineering, tracing has however significant benefits, because it requires language implementers to apply fewer optimizations to reach the same level of performance.Show less >
Language :
Anglais
Peer reviewed article :
Oui
Audience :
Internationale
Popular science :
Non
Collections :
  • Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
Source :
Harvested from HAL
Files
Thumbnail
  • https://hal.inria.fr/hal-01205345/document
  • Open access
  • Access the document
Thumbnail
  • https://kar.kent.ac.uk/63825/1/oopsla15-marr-ducasse-meta-tracing-vs-partial-evaluation.pdf
  • Open access
  • Access the document
Thumbnail
  • https://hal.inria.fr/hal-01205345/document
  • Open access
  • Access the document
Thumbnail
  • https://hal.inria.fr/hal-01205345/document
  • Open access
  • Access the document
Université de Lille

Mentions légales
Université de Lille © 2017