Blöde Idee: Erzeuge 1 Mio deiner 48-Byte Blöcke in einem separaten Projekt. Wie hoch ist der Speicherverbrauch?
Jetzt erzeuge 2 Mio Blöcke. Und nun?
Erzeuge 2 Mio, gib die Häfte wieder frei. Und nun?
Delphi-Quellcode:
var
i: integer;
begin
// 7 MB
for i := 0 to 1000000 - 1 do
New(recs[i]);
// 77 MB
for i := 1000000 to 2000000 - 1 do
New(recs[i]);
// 144 MB
for i := 0 to 1000000 - 1 do
Dispose(recs[i]);
// 83 MB
end;
Und jetzt?
@BUG: Freiblockliste? Nein, sagt mir nichts.