Ja ratber, leider, wobei hier hauptsächlich der Compiler dran schuld ist.
Zitat von Rage_Empire
Ja dem kann ich zustimmen,ist übersichtlicher.
Aber einen Pferdefuß bzw. zwei hat die Sache aber dennoch.
Zum einen kostets etwas Performance und zum anderen kostets mehr Speicher denn im gegensatz zum PC ist Speicher im Controller "immer" Knapp.
Wer also schon am Limmit rennt und aus Kostengründen nicht einfach auf nen größeren Controller umsteigen kann der muß dann wieder beim Italiener Spagetti bestellen.![]()
Gruß
Ratber
Ja ratber, leider, wobei hier hauptsächlich der Compiler dran schuld ist.
Hallo
Wie viel mehr (in %) braucht den ca. die Sub oder Function ?
Probiere gerade mit Function und das eine funktioniert ganz gut.
Aber vermutlich komme ich an die Speicher-Grenze vom Mega8 und überlege mir, ob ich jetzt so weitermache (Sub und Functionen verwenden..)
Habs gerade probiert.
mit Function = 2094 Byte
mit Gosub = 2014 Byte
Das sind dann ca. 4 % mehr, was eine Function braucht!!!
Gut zu wissen![]()
Du kannst versuchen Locals und Byvals zu vermeiden wenns geht. das kann hier schon einiges ausmachen.
Dort, wo's geht (keine rekursionen), auf globale Variable umsteigen.
Nach Möglichkeit Byte-Variable
Arrays vermeiden
Schleifen immer hinterfragen, ob nicht auch Spaghetticode geht (meist kürzer)
Konversionen str() val() sind teuer
Bit-setzen /Abfragen ( if Portb.3 = porta.1 ) sind schweineteuer
blabla
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Ja,genau.
Auch Fließzahlen möglichst vermeiden.
Eine Rechnung mit Long ala "A/1.78" kostet satte runde 300 Bytes.
Mit
A = A * 50
A = A / 89
sind es nur 30
Das ist dann schon fett wenn man nur auf nem 1-2K Controller arbeiten will.
Gruß
Ratber
Lesezeichen