Deoptimierung
Deoptimierung bezeichnet in der Informatik den Prozess, bei dem optimierter Code während der Ausführung wieder in eine weniger optimierte oder interpretiert ausgeführte Version des Codes zurückgeführt wird. Ziel ist die korrekte Ausführung des Programms, wenn Annahmen, die der Optimierung zugrunde lagen, sich als unzutreffend erweisen.
In Just-In-Time-Compilern, speziell bei dynamisch typisierten Sprachen wie JavaScript, werden spekulative Optimierungen eingesetzt. Diese gehen davon
Der Prozess beruht auf Deoptimierungsinformationen – Guard-Bedingungen, Tabellen oder Verweise –, die es ermöglichen, den aktuellen Stack-Fortschritt in
Deoptimierung hat in der Regel negative Auswirkungen auf die Laufzeitleistung, da optimierte Pfade umgangen oder neu
Beispiele für den Einsatz finden sich in modernen JavaScript-Motoren wie V8 von Chrome oder SpiderMonkey von