Purely interpretative optimizations

Stefan Brunthaler · 2011

Interpretierer sind einfach zu implementieren und können mit marginalem Zusatzaufwand portabel gemacht werden.Daher werden viele populäre Programmiersprachen interpretiert und nicht traditionell kompiliert.Im Allgemeinen sind diese Eigenschaften von Interpretierern vorteilhaft, jedoch verfügen Interpretierer über einen gravierenden Nachteil: sub-optimale Ausführungsgeschwindigkeit.Glücklicherweise wurde 1984 von L. Peter Deutsch und Allan Schiffman das Verfahren zur dynamischen Übersetzung eingeführt und in weiterer Folge popularisiert, sodass wir heute über hoch-performante dynamische Übersetzter, wie zum Beispiel die Java virtual machine oder die .NET Umgebung verfügen.Unglücklicherweise bedeutet die Entscheidung einen dynamischen Übersetzer zu implementieren gleichzeitig auch, die ursprünglichen Eigenschaften eines Interpretierers, mithin die Einfachheit der Implementierung und deren Portabilität, größtenteils aufzugeben.Die vorliegende Dissertation a) klärt auf warum für bestimmte Arten von Interpretierern bereits bekannte Techniken nicht ihr übliches Potential entfalten, b) gibt eine Orientierung welche Arten von Optimierungen höheres Potential bieten und c) präsentiert mehrere rein-interpretative Optimierungstechniken mit substantiellem Optimierungs-Potential -Geschwindigkeitssteigerungen bis zu einem Faktor von 2.4176 sind möglich -jedoch ohne die Eigenschaften von Interpretierern zu beeinträchtigen.

Read the paper · More papers on PaperTik