Dynamischer Recompiler

Ein dynamischer Recompiler (engl. "dynamic 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