Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#37

AW: SetLength -> Zu wenig Arbeitsspeicher?

  Alt 18. Aug 2010, 09:34
Danke Himitsu für deine Erklärung.
Wenn ich das richtig verstehe, ist es für den Speicherverbrauch egal ob ich vorher Nil bzw. das Setlength(a,0) aufrufe aber für die Struktur im Speicher (Lücken) es besser ist, diese Aufrufe vorher zu machen.

Gruß
Alex
Naja das kommt aber auch auf die Verwendung drauf an. Wenn du das Array nämlich nur verlängern willst, dann kannst du das nicht machen.

Und wie du siehst angos kommt es bei mir zu keiner Änderung der Speichergröße, weil der Speichermanager wohl intelligent genug ist, und immer den gleichen Speicherblock nutzt.

Weil du ihn direkt nach dem Reservieren wieder freigibst. Er steigt wahrscheinlich schon, aber er sinkt halt schneller wieder als du gucken kannst...
lol? Er steigt aber (eigentlich) insgesamt. Also danach müsste er mindestens doppelt so viel belegen, weil das ganze Array ja nochmal rein muss. Das heißt kurzzeitig ist es auf 0 Byte Verbrauch durch das array, aber dann sofort auf das doppelte von vorher.

MfG
Fabian
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler

Geändert von xZise (18. Aug 2010 um 09:36 Uhr)
  Mit Zitat antworten Zitat