Zitat:
Ich vermute, der MM macht letzeres. Er gruppiert Objekte, die z. B. zusammen von einem Elternobjekt erstellt wurden. Der Vorteil ist eigentlich recht einfach zu erkennen, beim Aufräumen des Speichers entstehen z. B. nicht drei kleine Lücken, sondern eine große. Das verhindert, dass der Speicher oft defragmentiert werden muss. Außerdem hängt das
IMHO mit dem Garbage Collector zusammen, der Objekte nach ihrer bisherigen Lebensdauer gruppiert. Ich vermute, der übenimmt diese Gruppierung nebenher.
Gut. Das heist aber auch das mit einem normalen MM wie der von Borland in einem Constructor eines Owner Objektes das mehrere Sub Objekte erzeugt diese ebenfalls linear im Speicher alloziert werden. Einfach auf Grund dessen das der freie Speicherblock sequientiell alloziert wird. Der Effekt wäre mit diesem MM der fast gleiche wie bei .NET ohne den nötigen Overhead. Anders ausgedrückt: der "veraltete" MM von Borland hat dieses Feature ebenfalls schon inklusive. Auch gruppiert er die Objekte anhand ihrer Größe in verschiedene Blöcke. Auch dieses Feature ist schon im "alten" MM von Borland drinnen. Übrigens wenn ich mich richtig erinnere wurde dieser MM von Borland schon seit Borland PASCAL 5 benutzt.
Gruß Hagen