Wie ein handgeschriebener Interpreter den Compiler schlägt

Beating the Compiler

Matt Keeter schreibt einen Uxn-Interpreter in Rust, der 10–20 % schneller ist als die Referenzimplementierung. Doch die Profiler-Daten zeigen: Der Dispatch-Loop frisst über ein Drittel der Laufzeit. Inspiriert von LuaJIT ersetzt er den indirekten Sprung durch handgeschriebenen AArch64-Assembler mit Register-Zuweisung und indirektem Threading – und übertrifft damit den Compiler.

Compilers are bad at generating code for interpreters, and it's possible to outperform them by writing your interpreter in assembly.

Mehr von diesem Tag

2026-10-05