Die Interpreterschleife selber ist etwas langsamer, weil sie viel mehr Token checken muss und zudem 2-Byte-Token prüft. Der eigentliche Zeitverlust entsteht jedoch durch das ständige Bankswitching (ROM aus RAM ein / RAM aus ROM ein) und die dazu erfrderlichen "Umwege". Mit einem guten Compiler kann man das wegoptimieren und dann läuft der C128 wie Schmidts Katze.
So ins Detail wollte ich gar nicht gehen. Die 2-Byte-Tokens zu behandeln dauert etwas länger, aber die Anzahl der Token spielt in Wirklichkeit keine Rolle, weil das über Tabellen aufgelöst wird ...
Wirklich ins Gebein gehen in der Tat die Speicherzugriffe bei Berücksichtigung des Bank-Switchings. Da ist jeder Bytezugriff auf den BASIC-Text, -Variablen, -Arrays, String-Bereich über eine Subroutine gekapselt. Das ist aber im Großen und Ganzen auch schon beim Plus/4 der Fall, der zumindest zwischen ROM und RAM hin-und-her-schalten muss, was auch eine entsprechende Kapselung erfordert.