Dynamischer Recompiler

Version vom 5. September 2022, 16:30 Uhr von ICON (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Ein '''dynamischer Recompiler''' (engl. "dynamischer Recompiler" bzw. "dynamischer Übersetzer", auch kurz "'''Dynarec'''" genannt) rekompiliert Programm-Teile…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Ein dynamischer Recompiler (engl. "dynamischer Recompiler" bzw. "dynamischer Übersetzer", auch kurz "Dynarec" genannt) rekompiliert Programm-Teile während der Ausführung für die Zielplattform. Ein Dynarec für bspw. einen PlayStation-1-Emulator für die Nintendo Switch rekompiliert also einen Code-Block der MIPS-Architektur der PlayStation 1 in die ARM64-Architektur der Switch.

Dies sorgt für erhebliche Perfomance-Verbesserungen, da im Gegensatz zu einem Interpreter nicht erst einzelne Instruktionen dekodiert und erst dann ausgeführt werden müssen. Der Nachteil ist der sehr hohe Entwicklungsaufwand.

Streng genommen ist der Begriff "dynamische Rekompilierung" falsch, da es sich eher um eine Mischung aus Interpreter und Recompiler handelt.

Weblinks