Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.012 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: Speicherplatz ermitteln: Objekt vs. Record

  Alt 9. Mär 2010, 11:46
Zitat von s.h.a.r.k:
wollte allgemein mal nachfragen, wie ich den genauen Speicherplatz von einer Instanz einer Klasse (samt darin gekapselten Objekten) und einem Record (samt darin gekapselten Objekten) ermitteln kann?
Das geht imo nur durch rekursives Durchlaufen deiner Objekte/Records, da Objektreferenzen immer nur 4 Byte groß sind und TObject.InstanceSize dies auch nur berücksichtigt. D.h., wenn du in TMyObjekt1 ein weiteres TMyObjekt2 erzeugst und in einer FeldVariablen speicherst, wird die Größe nur um 4 Byte steigen (die Größe deiner FeldVariablen).
Das würde aber zu einigen Problemen führen:
- dass eine Objektinstanz von mehreren anderen Stellen aus referenziert wird. Wie ermittelst du dann den Speicherverbrauch deiner referenzierenden Objekte?
- dass Objektinstanzen sich gegenseitig referenzieren. Welche Instanz verbraucht dann Speicherplatz von welcher anderen?
Alles in allem keine einfache Angelegenheit.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat