Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Erzeugt Delphi größere/langsamere Projekte mit Generics? (https://www.delphipraxis.net/191400-erzeugt-delphi-groessere-langsamere-projekte-mit-generics.html)

a.def 11. Jan 2017 12:33

Erzeugt Delphi größere/langsamere Projekte mit Generics?
 
Ich habe vor Kurzem gehört, dass die Verwendung von Generics in Delphi angeblich größere und langsamere ausführbare Dateien mit aufgeblähtem Code erzeugen soll.

Ist da was dran, hat da jemand negative Erfahrungen gemacht?
Ich konnte das bisher nicht feststellen.
Die einzigen Generics die ich nutze sind z.B. TArray<Byte> statt Array of Byte und solche Sachen.

Daniel 11. Jan 2017 12:36

AW: Erzeugt Delphi größere/langsamere Projekte mit Generics?
 
Die EXE-Datei wird etwas größer, weil der Compiler die verschiedenen Typisierungen Deiner generischen Klassen jeweils vollständig ablegt. Das ist in den letzten Versionen tendenziell besser geworden.
Auf die Geschwindigkeit hat dies keinerlei Einfluss - mal ausgenommen die Tatsache, dass ein paar Hundert KBytes mehr von der Festplatte gelesen werden müssen.

a.def 11. Jan 2017 12:46

AW: Erzeugt Delphi größere/langsamere Projekte mit Generics?
 
Bedeutet das, dass das nicht-verwenden von Generics trotzdem besser ist?

DeddyH 11. Jan 2017 12:48

AW: Erzeugt Delphi größere/langsamere Projekte mit Generics?
 
Wieso sollte das besser sein? Du hast Typsicherheit bereits zur Entwicklungszeit, kannst Deine Klassen in einem gewissen Rahmen schön allgemeingültig halten und musst keine zig Ableitungen schreiben usw. usf.

haentschman 11. Jan 2017 12:51

AW: Erzeugt Delphi größere/langsamere Projekte mit Generics?
 
Hallöle...:wink:
Zitat:

Bedeutet das, dass das nicht-verwenden von Generics trotzdem besser ist?
...definiv nicht. :P Allein das Fehlen der Casting Orgien macht vieles wett. :thumb: Es gibt genug Beispiele für sinnvolle Verwendung von Generics...
:zwinker:

a.def 11. Jan 2017 12:54

AW: Erzeugt Delphi größere/langsamere Projekte mit Generics?
 
Zitat:

Zitat von haentschman (Beitrag 1358651)
...definiv nicht. :P Allein das Fehlen der Casting Orgien macht vieles wett. :thumb:

Gerade das gecaste mag ich sehr. Dann weiß man immer sofort schon beim Hingucken um was es sich handelt.

Delphi-Quellcode:
MeinTyp(ObjectListenEintrag.Items[iIndex]) ...

Daniel 11. Jan 2017 12:58

AW: Erzeugt Delphi größere/langsamere Projekte mit Generics?
 
Zitat:

Zitat von a.def (Beitrag 1358652)
Gerade das gecaste mag ich sehr. Dann weiß man immer sofort schon beim Hingucken um was es sich handelt.

Wenn Du einen Typecast zur Dokumentation nach Nachvollziehbarkeit benötigst, solltest Du an Deinem Code-Stil arbeiten. ;-) Es mag bis heute einige Gründe für Typecasts geben - es ist jedoch das erste Mal, dass ich diesen höre.

sakura 11. Jan 2017 13:07

AW: Erzeugt Delphi größere/langsamere Projekte mit Generics?
 
Zitat:

Zitat von a.def (Beitrag 1358652)
Zitat:

Zitat von haentschman (Beitrag 1358651)
...definiv nicht. :P Allein das Fehlen der Casting Orgien macht vieles wett. :thumb:

Gerade das gecaste mag ich sehr. Dann weiß man immer sofort schon beim Hingucken um was es sich handelt.
Delphi-Quellcode:
MeinTyp(ObjectListenEintrag.Items[iIndex]) ...

Und wenn dann etwas Anderes drinne ist, dann wird's... oops, Exception ;)

...:cat:...

hoika 11. Jan 2017 13:08

AW: Erzeugt Delphi größere/langsamere Projekte mit Generics?
 
Hallo,

Zitat:

Allein das Fehlen der Casting Orgien macht vieles wett.
Ich caste nicht, sondern habe für jedes Objekt seine eigene Liste mit eigenem Get/Put/Index[].

Zitat:

MeinTyp(ObjectListenEintrag.Items[iIndex])
Hier fehlt einfach eine lesbare lokale Variable, was das Debuggen einfacher macht.


Aber prinzipiell machen Generics es einfacher, weil man halt nicht für jedes Objekt eine eigene Listenklasse braucht.

a.def 11. Jan 2017 13:15

AW: Erzeugt Delphi größere/langsamere Projekte mit Generics?
 
Zitat:

Zitat von Daniel (Beitrag 1358654)
Es mag bis heute einige Gründe für Typecasts geben - es ist jedoch das erste Mal, dass ich diesen höre.

Zitat:

Zitat von sakura (Beitrag 1358656)
Und wenn dann etwas Anderes drinne ist, dann wird's... oops, Exception ;) ...:cat:...

Ist ja gut, habe gerade alles abgeändert :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:33 Uhr.
Seite 1 von 2  1 2      

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