Auf meinem GitHub Repo von Nano VM ist die neue Version mit “direct threading dispatch”. Alle Programme laufen jetzt schneller da der Umweg über die Sprungtabelle für die Befehle nicht mehr gemacht wird.

Die Codeadressen der Befehle werden jetzt in einer Liste gespeichert und direkt angesprungen. Programme laufen jetzt ca. 1,2 bis 1,5 mal so schnell wie vorher. Das hört sich nicht nach viel an aber es macht sich bemerkbar.

Für den Interpreterteil ist damit wahrscheinlich das Ende der möglichen Optimierungen erreicht… Der Code der vom N Compiler erzeugt wird ist manchmal noch nicht optimal. Da sehe ich noch Raum für Optimierungen.

Auf jeden Fall läuft jetzt alles schneller und das ist schon mal gut!