AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Geschwindigkeit von Schleifen

Ein Thema von Dennis07 · begonnen am 10. Dez 2014 · letzter Beitrag vom 11. Dez 2014
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.332 Beiträge
 
Delphi 12 Athens
 
#14

AW: Geschwindigkeit von Schleifen

  Alt 10. Dez 2014, 15:20
Daß for i := irgendwas downto 0 do oftmals schneller ist, als ein for i := 0 to irgendwas do ,
liegt nicht an der Richtung, sondern meistens nur daran, daß das Ende hartecodet werden kann und keine Variable zwischengespeichert/ausgewertet werden muß.

Denn bei for i := -irgendwas to 0 do und for i := 0 downto -irgendwas do wäre es praktisch andersrum.


PS: Ohne Optimierung entspricht diese For-Schleife
Delphi-Quellcode:
for i := 0 to xxx do begin
  ...
end;
intern jender While-Schleife.
Delphi-Quellcode:
i := 0;
Ende := xxx; // Dieses hier ist auch der Grund, warum man Löschen besser rückwärts erledigt.
while xxx <= Ende do begin
  ...
  Inc(i);
end;
Nja, eigentlich eher dem
Delphi-Quellcode:
i := 0;
Ende := xxx; // Dieses hier ist auch der Grund, warum man Löschen besser rückwärts erledigt.
if i <= Ende then
  repeat
    ...
    Inc(i);
  until xxx = Ende; // = und nicht >=
Aber das fällt kaum auf, außer man manipuliert an der Schleifenvariable, um z.B. etwas ala for i := 0 to 9 step 3 do basteln, denn bei 0 to 10 landet man quasi in einer Endlosschleife, da die 10 übersprungen wird.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz