Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Dynamische Arrays - Overhead

  Alt 24. Okt 2009, 18:24
korrekt isses eh nicht, denn ich komme auf 3,8 MB (inklusive der Verwaltungsdaten für die Arrays)


Delphi-Quellcode:
procedure möglich(count: integer);
var Arr: array of array[0..10000] of integer;
begin
   SetLength(Arr, count);
   ...
end;
Delphi-Quellcode:
procedure möglich(count: integer);
var Arr: array[0..10000] of array of integer;
  i: Integer;
begin
   for i := Low(Arr) to High(Arr) do
     SetLength(Arr[i], count);
   ...
end;

PS: klar gibt es fast immer einen gewissen Overhead
die Speichermanager reservieren nunmal in gerundeten Größen

bei Windows-Manager kann man Speicher in 4 KB-Schritten anfordern und bis auf den nächsten 64-KB-Schritt kann da nichts mehr reserviert werden.

der DelphiMM verwalten dagengen zwar kleinere Bereiche, aber auch diese sind "genormt"
und dann holt sich Delphi bei Windows den Speicher.

also selbst wenn man nur 1 Byte reserviert, dann ist immer mehr belegt.
$2B or not $2B
  Mit Zitat antworten Zitat