Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: warum ist das Programm so langsam?

  Alt 19. Jan 2007, 14:39
Eine fällt mir hier auf:
setlength(myarray,i+1); Ändert man die Größe eines dynamischen Arrays, wird für die neue Größe (Alt + Anzahl neue Elemente) neuer Speicherreserviert. dann wird der Inhalt des alten Arrays dorthin kopiert. Das ist erstmal zeitraubend und zum zweiten ein Speichrfresser, da der alte Speicher nicht wieder freigegeben wird. Damit defragemntiert auch der Speicher sehr stark.

Schätz am Anfang, wie groß das Array ungefähr sein muss und wenn es nicht mehr raicht, vergrößerst du es gleich um 30% dr ursprünglichen größe, so dass du es nicht in jedem Schleifendurchgang vergrößern musst.

Es können noch weitere Bremsen im Code, sein, aber die sind mir so auf die Schnelle nicht aufgefallen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat