Erstmal Danke für eure Antworten.
Aber @EugenB:
Ich finde das etwas verletzend, in so einer Art darauf hinzuweisen, was denn
jetzt bei meiner Engine besser wär, als bei der eines anderen.
Wenn es so ginge wieso sollte man dann überhaupt noch sowas programmieren...
Ich nehms dir aber nicht übel
Aber als Antword darauf:
Die Geschwindigkeit!
Ich habe mir mal die Sysygy angekuckt und gesehen, dass die mit Variant arbeitet, was nicht gerade
schnell ist.
Ich habe es zuerst auch der einfachheit wegen mit Variant gemacht, danach aber einen eigenen Datentyp
geschrieben, der wie Variant arbeitet.
Dieser ist aber SEHR viel schneller, da er auf die Aufgaben in der Engine optimiert ist.
Delphi-Quellcode:
TRutisStackItem = record
case VTyp : TRutisVarType of
vArray,
vPointer : (VPointer : PRutisStackItem);
vInteger : (VInteger : Integer);
vSingle : (VSingle : Single);
vBoolean : (VBoolean : Boolean);
vString : (VString : PAnsiString);
end;
Die Geschwindigkeit ist dadurch um einiges gestiegen.
Insgesamt ist die Engine stark auf Geschwindigkeit ausgelegt.
Doch am wichtigsten: Die Engine ist NOCH NICHT FERTIG !!
Das habe ich ja schon erwähnt und deswegen ist es nicht verwunderlich, dass es noch kein
OOP gibt
Wer sich mal für die Geschwindigkeit interessiert, kann ja mal das Script "TEST Speed.rutis"
ausführen.
Da ist auch nochmal ein Vergleich von den zwei Typen von Externen Funktionen, die die
Engine unterstützt
(Die Eine macht einen Umweg über Variant, die Andere schreibt direkt auf den Stack)
MFG