Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Liste mit Records, Recordhelper, Speicherverbrauch (https://www.delphipraxis.net/207666-liste-mit-records-recordhelper-speicherverbrauch.html)

Gandalf2265 21. Apr 2021 10:04

Liste mit Records, Recordhelper, Speicherverbrauch
 
Hallo,

mal eine wahrscheinlich ganz blöde Frage:

Ich bauen einen Record, nennen wir ihn TMYDemo, mit mehreren Feldern und einigen Methoden darin.
Dann nehme eine Liste TList<TMyDemo> und lege darin z.B. 10000 Records ab.

Wenn ich nun einige Funktionen anstatt als Methode im Record in einen Recordhelper für TMyDemo verlagere, spare ich dann Speicherplatz?
Oder wird für den Recordhelper auch pro verwendetem Record immer der Speicherplatz zusätzlich belegt? :?:

Der schöne Günther 21. Apr 2021 10:27

AW: Liste mit Records, Recordhelper, Speicherverbrauch
 
Funktionen / Prozeduren belegen keinen Speicherplatz pro Record oder Klasse. Der Code muss nur einmal in deiner .exe vorliegen und kann dann für jede Instanz recycled werden. Daher ist es völlig egal ob dein Programm nun 10, 100 oder 1.000 Records anlegt. Die Felder der Records werden Platz brauchen, aber Funktionen/Prozeduren haben hier keinerlei Einfluss.

Demnach ist es auch egal ob du die in den Records lässt oder in Record-Helfer auslagerst.

PS: Vielleicht ist dir mal aufgefallen dass Helfer (egal ob für Klassen, Records oder anderes) keine Variablen einführen können, nur Methoden. Das liegt daran dass sie nicht die Größe eines Records/Klasse im Speicher verändern dürfen. Das zeigt also auch dass neue Funktionen/Prozeduren den Speicherverbrauch nicht größer oder kleiner machen.

Gandalf2265 21. Apr 2021 10:36

AW: Liste mit Records, Recordhelper, Speicherverbrauch
 
Vielen Dank :-D

Wieder was gelernt!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz