Alternative zu dynamischen Arrays
Von: Christian Bode (christianbode@arcor.de) [Profil]
Datum: 26.10.2009 11:44
Message-ID: <4ae57d8e$0$7629$9b4e6d93@newsspool1.arcor-online.net>
Newsgroup: de.comp.lang.delphi.misc
Datum: 26.10.2009 11:44
Message-ID: <4ae57d8e$0$7629$9b4e6d93@newsspool1.arcor-online.net>
Newsgroup: de.comp.lang.delphi.misc
Hallo zusammen, ich arbeite in meinen Klassen sehr viel mit dynamischen Arrays, vor allem da sie sich einfach und leicht verwalten lassen. Dynamisch bedeutet aber auch, das sie mal größer und kleiner werden können, je nachdem wie viele Objekte vom jeweiligen Typ momentan benötigt werden. Da ich während der Entwicklung viel an den Klassen ändere und damit Delphi auch offenbar jedes Mal wieder einen neuen Speicherbereich reservieren muss, ist es bei mir keine Seltenheit das die IDE mal ruck zuck > 1GB Speicher beansprucht. Wenn man Delphi dann minimiert, wird dieser Speicher übrigens schlagartig wieder freigegeben. In Hinblick auf die Entwicklung könnte ich das ja noch verkraften, aber wenn mein Programm später nach und nach auch so viel Speicher für sich reserviert, hätte ich schon ein Problem damit. Wie ich gelesen habe, kann die verwendete Speichermenge bei der Verwendung des SetLength(GetLength()+1)-Konstrukts ziemlich sprunghaft ansteigen. Doch was wäre in Hinblick dessen eine vernünftige Alternative? Klar man könnte ein Array zunächst auf fest Größe setzen und wenn die nicht ausreicht, es weiter vergrößern. Doch wenn man nicht genau weiß, wie stark sich das Array vergrößert kann man auch die Schritte schlecht bestimmen und wenn man sie zu klein ansetzt, hat man den Effekt in geringerer Form ja nach wie vor. Außerdem finde ich es in dem Fall schwieriger über das Array zu iterieren, da man nicht konkret weiß welche Bereiche nun tatsächlich belegt sind. Man müsste also einen separaten Count mitführen. Wie macht ihr das bei euch so? Viele Grüße Christian[ Auf dieses Posting antworten ]
Antworten
- Stefan Koschke (26.10.2009 12:00)
- Hans-Peter Diettrich (26.10.2009 13:21)
- Christian Bode (28.10.2009 16:01)
- Hans-Peter Diettrich (28.10.2009 22:34)
- Arno Garrels (26.10.2009 16:49)
- Hubert Seidel (26.10.2009 21:27)
- Christian Bode (28.10.2009 16:13)
- Michael Fuchs (28.10.2009 16:27)
- Christian Bode (28.10.2009 18:21)
- Hans-Peter Diettrich (28.10.2009 22:50)
- Hubert Seidel (28.10.2009 21:19)
- Christian Bode (29.10.2009 11:14)
- Simon Reinhardt (26.10.2009 21:43)
- R. Velthuis (26.10.2009 22:29)
- Nicole Wagner (27.10.2009 21:55)
- Hermann Meier (28.10.2009 11:52)
- R. Velthuis (29.10.2009 00:17)
- Hans-Peter Diettrich (28.10.2009 23:11)
- R. Velthuis (29.10.2009 02:28)
- Hans-Peter Diettrich (29.10.2009 03:19)
- R. Velthuis (29.10.2009 04:10)
- Hans-Peter Diettrich (29.10.2009 09:43)
- R. Velthuis (29.10.2009 18:47)
- Hans-Peter Diettrich (29.10.2009 21:20)
- R. Velthuis (29.10.2009 23:38)
- Christian Bode (28.10.2009 15:54)
