next up previous contents
Next: Das Modell Up: Techniken zur Programmausführung Previous: Techniken zur Programmausführung   Inhalt


Analyse der Kosten-Nutzen-Rechnung eines dynamischen Compilers

Beim Einsatz von Optimierungstechniken muß der Nutzen (z.B. geringere Programmlaufzeit) gegen die eingesetzten Mittel aufgerechnet werden. Ein Compiler muß sich selbst ,,tragen`` [Franz, 1994]. Bei einem statischen Compiler wird implizit davon ausgegangen, daß das übersetzte Programm oft genug ausgeführt wird, um die eingesetzte Übersetzungszeit zu kompensieren. Allenfalls während der Programmentwicklung wird die Übersetzungszeit als störender Faktor angesehen und durch weniger zeitaufwendige Optimierungen oder den Einsatz von Interpretern soweit möglich minimiert.

Ein dynamischer Compiler arbeitet hingegen ,,in`` dem laufenden Programm und hat damit direkten Anteil an dessen Laufzeit. Der Einsatz aufwendiger Optimierungstechniken ist für einmalig ausgeführten Code mit allergrößter Wahrscheinlichkeit nicht nutzbringend, sondern nimmt im Gegenteil insgesamt mehr Zeit in Anspruch als er einspart. Methoden mit hohem Laufzeitanteil, sogenannte hot spots, versprechen die größten Vorteile.

Bei der Beurteilung, welche Programmteile lohnenswerte Ziele eines optimierenden Übersetzungsvorgangs sind, sind sowohl Charakteristika des Compilers als auch des zu übersetzenden Programms maßgeblich. In diesem Abschnitt wird ein Modell der anzustellenden Kosten-Nutzen-Rechnung entwickelt, anhand dessen anschließend einige Entwurfsentscheidungen für die Compiler-Komponente diskutieren werden.




next up previous contents
Next: Das Modell Up: Techniken zur Programmausführung Previous: Techniken zur Programmausführung   Inhalt

2001-02-28