Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Record komplett oder nur teilwese kopieren? (https://www.delphipraxis.net/21217-record-komplett-oder-nur-teilwese-kopieren.html)

SirThornberry 29. Apr 2004 20:39

Re: Record komplett oder nur teilwese kopieren?
 
*heul* die variante die du beschreibst hatte ich bereits und die war zu unperformant. Ich hab sogar meine While schleife durch ne For-schleife ersetzt weil man bei den riesen datenmengen die ich hab den unterschied sonst gewaltig merkt - Deswegen wollte ich ja eigentlich nur wissen ob ihr Variante1 oder Variante2 des ersten posts dieses thread bevorzugt

Muetze1 29. Apr 2004 20:45

Re: Record komplett oder nur teilwese kopieren?
 
Moin!

Ok, bevor du heulst... 8) :

Beide Methoden machen das gleich, die erste aber schneller. Die erste Variante kopiert den Record aber am Stück mit einem MemCopy und die zweite halt alles einzelnd, somit ist die erste eigentlich schneller. Dann ist die Sache, das die erste Variante nicht bei allen Delphi Versionen funktioniert (ich glaube bei Delphi 4 wurden Elemente eines Records noch nicht mitkopiert bei einer solchen Zuweisung, da musstest du das mit Move() selber machen). Daher ist die Entscheidung bei dir...

MfG
Muetze1

SirThornberry 29. Apr 2004 20:56

Re: Record komplett oder nur teilwese kopieren?
 
Also irgendwie scheinst du nicht hingeguckt zu haben. Bei variante1 wird der komplette record kopiert - bei variante2 nur ein Teil davon (weil ich ni alle variablen in der anderen liste benötige). Wenn ich den record komplett in der anderen liste bräuchte wäre die entscheidung schon lange gefallen. Ich will aber eben nur die hälfte der im record befindlichen Dinge in den anderen record kopieren

Muetze1 29. Apr 2004 21:08

Re: Record komplett oder nur teilwese kopieren?
 
Moin!

Zitat:

Zitat von SirThornberry
Also irgendwie scheinst du nicht hingeguckt zu haben. Bei variante1 wird der komplette record kopiert - bei variante2 nur ein Teil davon (weil ich ni alle variablen in der anderen liste benötige). Wenn ich den record komplett in der anderen liste bräuchte wäre die entscheidung schon lange gefallen. Ich will aber eben nur die hälfte der im record befindlichen Dinge in den anderen record kopieren

- wenn du Variante 1 angeboten hast, dann scheint es doch auch nicht zu stören, wenn er alles kopiert.
- Wieso mehr Speicherverbrauch bei Variante 1? Der Record ist so oder so in der vollen Grösse angelegt und die Strings sind eh nur Referenzen (zeigen auf den gleichen String), da diese den gleichen Inhalt haben.

MfG
Muetze1

SirThornberry 29. Apr 2004 21:55

Re: Record komplett oder nur teilwese kopieren?
 
Hmm, stimmt, daran hatte ich gar ni gedacht das es nur referenzen sind. Wobei es keine referenzen mehr sind wenn der string in der hauptliste geändert wird?! Naja, ich gebs auf - ich lass das thema jezt - das führt zu keinem ergebnis... Solange die strings nur referenzen sind ist die größe ja gleich ansonsten isses halt bissl performance verbrauch


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 Uhr.
Seite 2 von 2     12   

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