Dokument: Meta-Tracing Just-in-Time Compilation for RPython
Titel: | Meta-Tracing Just-in-Time Compilation for RPython | |||||||
URL für Lesezeichen: | https://docserv.uni-duesseldorf.de/servlets/DocumentServlet?id=30464 | |||||||
URN (NBN): | urn:nbn:de:hbz:061-20140829-090923-1 | |||||||
Kollektion: | Dissertationen | |||||||
Sprache: | Englisch | |||||||
Dokumententyp: | Wissenschaftliche Abschlussarbeiten » Dissertation | |||||||
Medientyp: | Text | |||||||
Autor: | Bolz, Carl Friedrich [Autor] | |||||||
Dateien: |
| |||||||
Beitragende: | Prof. Dr. Leuschel, Michael [Gutachter] Prof. Dr. Hirschfeld, Robert [Gutachter] | |||||||
Stichwörter: | JIT,virtual machine,Python,dynamic language,performance | |||||||
Dewey Dezimal-Klassifikation: | 000 Informatik, Informationswissenschaft, allgemeine Werke » 004 Datenverarbeitung; Informatik | |||||||
Beschreibungen: | Many dynamic languages are implemented using traditional interpreters because implementing just-in-time (JIT) compilers for them is too complex. This limits their performance and restricts their applicability. This thesis describes meta-tracing, a technique that makes it possible to apply a single tracing JIT compiler across a wide variety of languages. Meta-tracing is flexible enough to incorporate typical JIT techniques such as run-time type feedback and unboxing. With the help of several case studies, meta-tracing is applied to various language implementations. Performance measurements of using meta-tracing show improvements by up to factor 50 for implementations of production languages. Meta-tracing can thus simplify the implementation of high-performance virtual machines for dynamic languages significantly, making these languages more practical in a wider context.Viele dynamische Programmiersprachen sind durch klassische Interpreter implementiert, weil das Implementieren von Just-in-Time-Compilern für sie zu komplex ist. Dies schränkt ihre Geschwindigkeit und ihre Anwendbarkeit ein. In dieser Arbeit wird Meta-Tracing beschrieben, eine Methode, die es möglich macht, einen einzigen Tracing-JIT-Compiler auf eine große Bandbreite an Sprachen anzuwenden. Der Ansatz ist flexibel genug, typische JIT-Techniken zu ermöglichen, z.B. Laufzeit-Typ-Feedback und Unboxing. Mit Hilfe mehrerer Fallstudien wird Meta-Tracing evaluiert, indem es auf verschiedene Sprachimplementierungen angewendet wird. Geschwindigkeitsmessungen zeigen Verbesserungen von bis zu einem Faktor 50 für Implementierungen von Produktionssprachen. Meta-Tracing kann deshalb die Implementierung von schnellen virtuellen Maschinen für dynamische Programmiersprachen signifikant erleichtern und diese Sprachen so für einen breiteren Kontext anwendbar machen. | |||||||
Lizenz: | Urheberrechtsschutz | |||||||
Fachbereich / Einrichtung: | Mathematisch- Naturwissenschaftliche Fakultät » WE Informatik » Softwaretechnik und Programmiersprachen | |||||||
Dokument erstellt am: | 29.08.2014 | |||||||
Dateien geändert am: | 29.08.2014 | |||||||
Promotionsantrag am: | 13.09.2012 | |||||||
Datum der Promotion: | 18.09.2013 |