Tail-Call-Interpreter in Rust: Jimmy Ostler vergleicht Dispatch-Techniken
Tail-Call Interpreters in Rust – Jimmy Ostler
Jimmy Ostler untersucht in seinem Blogbeitrag verschiedene Dispatch-Methoden für virtuelle Maschinen in Rust. Ausgehend von einem Artikel über VM-Dispatch in Scala implementiert er vier Varianten: Switch-, Subroutine-, Indirect- und Direct Dispatch. Er nutzt dabei die experimentelle `become`-Syntax für Tail Calls und zeigt, wie man mit `unsafe` und globalen Variablen arbeitet. Die Direct-Dispatch-Methode erweist sich auf seiner Maschine als am schnellsten. Der Beitrag bietet praktische Codebeispiele und Einblicke in die Leistungsunterschiede.
Dies führt zu einer finalen Frage: Was, wenn wir die Techniken kombinieren?