Jedes TSubObject hat die Möglichkeit weitere SubObjects zu besitzen welche in einer TObjectList verwaltet werden. Weietrhin enthält ein SubObject ein Array of String wo verschiedene Daten gespeichert werden, sowie eine THashedStringlist wo die Namen der jeweiligen SubObjecte drinne stehen um eine schnelle Suche zu ermöglichen, einen String für den Namen und einen Pointer auf das Parent. Alles in allem ist dann das TObject welches selber verschiedene TSubObjects enthält, ca 400 Mb groß bei gerade einmal 100.000 Einträgen. Dies würde einen SPeicherverbrauch von ca 7 Gb für alle Dateien bedeuten. Dies ist leider nicht möglich. Wenn ich jedoch verschiedene Teile auslagere verlangsamt sich die Suche um ein vielfachen.
Edit:
Die Daten werden von einem anderen Programm generiert und gespeichert danach von einer weiteren Klasse bearbeitet und an die Klasse TTreeObject (sehr hoher
Ram-Verbrauch) weitergegeben, welche sie verwaltet.