Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Speichernutzung: array of record vs. TObject (TList usw.) (https://www.delphipraxis.net/50232-speichernutzung-array-record-vs-tobject-tlist-usw.html)

sakura 22. Jul 2005 12:16

Re: Speichernutzung: array of record vs. TObject (TList usw.
 
Zitat:

Zitat von Robert_G
Zitat:

Zitat von sakura
Und warum sollte man diese Dinge alle nochmal von Hand implementieren :wall:

Weil man dann nicht mit 5 Mio Bezeichnern aus Classes.pas erschlagen wird, bzw nicht die vcl.dcp referenziert oder weil TList aus polymorpher Sicht relativ unbrauchbar ist, da man die grundlegenden Methoden (Add, ...) nicht überschrieben kann um type safety zu forcieren?

Okay, dann aber wieder als Klasse und nicht als Array :zwinker:

...:cat:...

Nogge 22. Jul 2005 12:19

Re: Speichernutzung: array of record vs. TObject (TList usw.
 
Robert_G, du magst vllt sehr vertraut mit Delphi zu sein, aber ich versteh gerade kein Wort...Kann mir das jemand detailierter, "deutscher" erklären?^^
Und mein Freund schreibt lieber 5mal dasgleiche in seinen Code, als einmal in eine Procedure...

barf00s 22. Jul 2005 12:40

Re: Speichernutzung: array of record vs. TObject (TList usw.
 
www.delphibasics.co.uk

BlackJack 22. Jul 2005 13:16

Re: Speichernutzung: array of record vs. TObject (TList usw.
 
Zitat:

Zitat von Nogge
Und mein Freund schreibt lieber 5mal dasgleiche in seinen Code, als einmal in eine Procedure...

das ist schön blöd.
1. wenn er dann was ändern muss muss er es 5x ändern
2. benötigt das rund 4 mal so viel speicher wie eine procedure
3. ist das einfach nur doof.

jbg 22. Jul 2005 13:33

Re: Speichernutzung: array of record vs. TObject (TList usw.
 
Zitat:

oder weil TList aus polymorpher Sicht relativ unbrauchbar ist, da man die grundlegenden Methoden (Add, ...) nicht überschrieben kann um type safety zu forcieren?
Dann erklär mir mal, wie du eine virtuelle Add Methode überschreiben würdest, bei der sich der Parametertyp ändert? Da habe ich lieber eine statische Methode, bei der ich beim Ableiten nicht laufend reintroduce schreiben muss.

Nogge 22. Jul 2005 13:37

Re: Speichernutzung: array of record vs. TObject (TList usw.
 
@BlackJack: zu 2.: Stimmt das wirklich? Weißte das 100%ig? Hört sich irgendwie unlogisch an...

Speedmaster 22. Jul 2005 13:38

Re: Speichernutzung: array of record vs. TObject (TList usw.
 
Zitat:

Zitat von Robert_G
p.s.: Habt ihr schnmal daran gedacht, dass ein Array of Record (also nicht von einem Pointer auf einen record) KOPIEN der Records enthält, die man reinwirft? -> puff jedesmal wenn du da was rausholst kostet es dich 2-mal den Speicher dieses Records bis dieser aus dem Scope rennt...

Wozu gibt es den Befehl const oder den Befehl var?

barf00s 22. Jul 2005 13:41

Re: Speichernutzung: array of record vs. TObject (TList usw.
 
das passt jetz hier nich, speedmaster :)

BlackJack 22. Jul 2005 14:00

Re: Speichernutzung: array of record vs. TObject (TList usw.
 
Zitat:

Zitat von Nogge
@BlackJack: zu 2.: Stimmt das wirklich? Weißte das 100%ig? Hört sich irgendwie unlogisch an...

jop. sagen wir der fragliche code ist 200 byte gross. 5x einzeln den code schreiben: 1000 bytes.

1x den code in eine procedure schreiben: 200 byte + ~10 byte overhead (stackframe, lokale variablen, ret)
5x diese procedure aufrufen: 5x call: ~25 byte.
dann noch ein paar bytes die benutzt werden um die parameter zu übergeben, dann kommen wir zusammen auf gut 250 bytes. also nur 1/4 des platzes, als wenn man 5x die anweisungen einzeln eintippt.

barf00s 22. Jul 2005 14:10

Re: Speichernutzung: array of record vs. TObject (TList usw.
 
reintroduce; ist nur um die _warnung_ des compilers zu unterdrücken -
ANsonsten könnte man sich des "Adapter" Entwurfsmusters bedienen und sich soo seine liste umbaun - ach was erzählich überhaupt .....


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:02 Uhr.
Seite 2 von 4     12 34      

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