Autor(en)
Savrun-Yeniçeri, Gülfem; Zhang, Wei; Zhang, Huahan; Seckler, Eric; Li, Chen; Brunthaler, Stefan; Larsen, Per; Franz, Michael
Titel
Efficient hosted interpreters on the JVM
Teil von
  • ACM transactions on architecture and code optimization, 2014-02-01, Vol.11 (1), p.1-24
Ort / Verlag
NEW YORK: ACM
Links zum Volltext
Quelle
Web of Science
Beschreibungen
Many guest languages are implemented using the Java Virtual Machine (JVM) as a host environment. There are two major implementation choices: custom compilers and so-called hosted interpreters. Custom compilers are complex to build but offer good performance. Hosted interpreters are comparatively simpler to implement but until now have suffered from poor performance. We studied the performance of hosted interpreters and identified common bottlenecks preventing their efficient execution. First, similar to interpreters written in C/C++, instruction dispatch is expensive on the JVM. Second, Java's semantics require expensive runtime exception checks that negatively affect array performance essential to interpreters. We present two optimizations targeting these bottlenecks and show that the performance of optimized interpreters increases dramatically: we report speedups by a factor of up to 2.45 over the Jython interpreter, 3.57 over the Rhino interpreter, and 2.52 over the JRuby interpreter, respectively. The resulting performance is comparable with that of custom compilers. Our optimizations are enabled by a few simple annotations that require only modest implementation effort; in return, performance increases substantially.
Format
Sprache(n)
Englisch
Identifikator(en)
ISSN: 1544-3566
ISSN: 1544-3973
DOI: 10.1145/2532642

Weiterführende Literatur

Empfehlungen zum selben Thema automatisch vorgeschlagen von bX
Die Universität der Informationsgesellschaft