ich möchte meinen Interpreter beschleunigen und hab dazu ein paar fragen.
So läuft es aktuell: (Codes sind nur zur Veranschaulichung funktionieren nicht)
Code: Alles auswählen
Repeat
Select ReadWord(File)
Case 1;+
;...
Case 2;-
....
Case 3;*
...
Case ...
...
...
case 200;extrem langsam da erst die anderen case' durchgegangen werden
...
EndSelect
Until ...
deshalb hab ich das hier getestet:
Code: Alles auswählen
Procedure P01_Add()
; + ...
EndProcedure
Procedure P02_Sub()
; - ...
EndProcedure
Procedure P04_Div()
; * ...
EndProcedure
Procedure P200_Ka()
; * ...
EndProcedure
;...
Prototype Beispiel()
Structure ProzedurListe
Beispiel.Beispiel[4]
EndStructure
Define ProzedurListe.ProzedurListe
ProzedurListe\Beispiel[1] = @P01_Add()
ProzedurListe\Beispiel[2] = @P02_Sub()
ProzedurListe\Beispiel[2] = @P04_Div()
ProzedurListe\Beispiel[200] = @P200_Ka()
Repeat
ProzedurListe\Beispiel[ReadWord(File)]()
Until ...
Meine frage jetzt gibt es noch eine Möglichkeit das ganze schneller zu machen ohne proceduren dabei zu verwenden?