Thema: Delphi Stack Programmierung

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Stack Programmierung

  Alt 17. Mär 2007, 12:39
Wenn du die größe des Arrays gut verwlatest, dann ist dieses besser.
andere/viele Stackklassen arbeiten so.


z.B. der Stack in deinem Delphi, welcher die lokalen Variablen, Prozedurrückspungpunkte und Dergleichen speichert, ist mit einer festen Größe definiert.

Es wird nur einmal Speicher reserviert und dann über einen Zeiger auf die aktuelle Stelle gezeigt.

Schneller gehts nicht, da dort kein Speicher verwaltet/geändert werden muß, aber es kann passieren daß der Stack mal überlauft (EStackOverflow).

bei einer verkettenten Liste wird für jeden Eintrag eigener Speicher reserviert/freigegeben.

es muß demnach nicht der gesaemte Stack koiert werden, wenn der Stack die Größe ändert, aber eben bei jedem push/pop wird ein Stück Speicher freigegeben.

Das Array (nonaml) kopiert bei Größenänderung oftmals den gesamten Stack um.

Das Array (wenn gut verwaltet) ist wie der "feste" Stack und ändert seine größe nur ganz selten ... also nur wenn Stack voll und eventuell auch wenn zuviel frei ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat