Dynamische Optimierung

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel erläutert die Optimierung von Programmabläufen zur Laufzeit; zum Paradigma zur Entwicklung effizienter Optimierungsalgorithmen siehe dynamische Programmierung.

Bei der dynamischen Optimierung handelt es sich um eine Optimierungstechnik, die das Laufzeitverhalten von Software während der Ausführung erheblich verbessert.

Hierbei wird unter anderem die Tatsache ausgenutzt, dass die Werte bestimmter Variablen eines Programms zwar vor Ausführung des Programms nicht bekannt sind, aber für eine ganze Zeit lang während des Ablaufs des Programms konstant sind. Wird also während der Ausführung eines Programms erkannt, dass eine Variable doch eher eine Konstante zu sein scheint, so kann das Programm so kompiliert werden, als wäre die Variable tatsächlich eine Konstante. Diese kompilierte Form ist dann oft schneller als eine kompilierte Form des Programms, in dem eine Variable als variabel angesehen wird. Diese kompilierte Form kann dann so lange ablaufen, bis sich der Wert der Variablen wieder ändert.

Dynamische Optimierung ist derzeit nur innerhalb von virtuellen Maschinen bekannt, da die virtuelle Maschine diejenige ist, die erkennen muss, dass der Wert einer Variablen konstant ist, um dann die Neukompilierung des Codes vorzunehmen.

Siehe auch[Bearbeiten]

  • HotSpot – Virtual Machine von SUN mit Dynamischer Optimierung

Weblinks[Bearbeiten]

Literatur[Bearbeiten]

  • Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compiler. Principles, Techniques and Tools. ISBN 0-201-10194-7 (Das Dragon Book)