- Dynamische Optimierung
-
Bei der Dynamischen Optimierung handelt es sich um eine Optimierungs-Technik, welche das Laufzeitverhalten von Software während der Ausführung erheblich verbessert.
Hierbei nutzt man unter anderem die Tatsache aus, 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. Erkennt man also während der Ausführung eines Programms, dass eine Variable doch eher eine Konstante zu sein scheint, so kann man das Programm so kompilieren, 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
- HotSpot - Virtual Machine von SUN mit Dynamischer Optimierung
Weblinks
- HotSpot Glossar - Glossar zu Techniken der dynamischen Optimierung (Java HotSpot lastig)
Literatur
- Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compiler. Principles, Techniques and Tools. ISBN 0-201-10194-7 (Das Dragon Book)
Wikimedia Foundation.