Hallo,
also wenn du Zahlschleifen beschleunigen willst, dann lasse sie rückwärts laufen. Da in Assembler nur auf 0 abgeprüft werden kann, muss bei hochzähleneden Schleifen auf das Ergebnis einer Rechnung die beim erreichren des Endwertes null ergibt geprüft werden muss.
Bei einfachen sachen wie z.B.
Delphi-Quelltext
1: 2:
| for i := 0 to bla.count-1 do Machwas; |
Optimiert Delphi das von alleine so, dass die Schleife rückwärts läuft. Wenn aber in der Schleiffe auch die Zählvariable verwendet wird und Delphi somit nicht mehr entscheiden kann, ob ein ändern der Laufrichtung nicht die Funktion des Programmes beeinflusst, lässt es dir Finger davon.
Sofern es also möglich ist lasse deine Schleife in die andere Richtung laufen
Delphi-Quelltext
1: 2:
| for i := bla.count-1 downto 0 do Machwas; |
Gruß
Klabautermann