AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Erzeugt Delphi größere/langsamere Projekte mit Generics?
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von a.def · begonnen am 11. Jan 2017 · letzter Beitrag vom 12. Jan 2017
Antwort Antwort
Seite 1 von 2  1 2      
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#1

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

  Alt 11. Jan 2017, 12:36
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.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#2

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

  Alt 11. Jan 2017, 12:46
Bedeutet das, dass das nicht-verwenden von Generics trotzdem besser ist?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#3

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

  Alt 11. Jan 2017, 12:48
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.436 Beiträge
 
Delphi 12 Athens
 
#4

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

  Alt 11. Jan 2017, 12:51
Hallöle...
Zitat:
Bedeutet das, dass das nicht-verwenden von Generics trotzdem besser ist?
...definiv nicht. Allein das Fehlen der Casting Orgien macht vieles wett. Es gibt genug Beispiele für sinnvolle Verwendung von Generics...
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#5

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

  Alt 11. Jan 2017, 12:54
...definiv nicht. Allein das Fehlen der Casting Orgien macht vieles wett.
Gerade das gecaste mag ich sehr. Dann weiß man immer sofort schon beim Hingucken um was es sich handelt.

MeinTyp(ObjectListenEintrag.Items[iIndex]) ...
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#6

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

  Alt 11. Jan 2017, 12:58
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.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#7

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

  Alt 11. Jan 2017, 13:08
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.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#8

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

  Alt 11. Jan 2017, 13:19
EinFalscherTyp(ObjectListenEintrag.Items[iIndex]) ...
Das kompiliert zwar und du siehst toll im Code was du denkst das dort sein soll,
aber wenn es das nicht ist, dann knallt es im laufenden Programm schnell mal oder macht einfach sonstwas und nicht das was du eigentlich wölltest.

VCL, FMX usw. nutzen selber oft die Generics ... da fallen deine paar Zeilen nicht mehr groß auf.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.961 Beiträge
 
Delphi 12 Athens
 
#9

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

  Alt 12. Jan 2017, 07:17
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[].
Das habe ich per .inc als Template gelöst. Das war dann mit den echten generischen Listen kompatibel, so dass ich per ifdef von dem Template oder von den echten generischen Listentypen ableiten konnte (zur Abwärtskompatibilität mit alten Versionen).

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.
Bei einer einfachen TList kommen pro Verwendung nach meinen Beobachtungen grob ca. 20 KiB in der Releaseversion hinzu.

Was sich glaube ich vor allem geändert hat ist, dass eine TList<TMeineKlasse> bei mehrfacher Deklaration z.B. in Form eines Typs einer Variablen nicht mehrfach als generischer Typ erstellt wurde. Allerdings hatte ich das damals nicht selber getestet, sondern nur gelesen, dass geschrieben wurde, dass das passiert. In Delphi 10.1 ist das auf jedem Fall nicht (mehr) so.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#10

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

  Alt 11. Jan 2017, 13:15
Es mag bis heute einige Gründe für Typecasts geben - es ist jedoch das erste Mal, dass ich diesen höre.
Und wenn dann etwas Anderes drinne ist, dann wird's... oops, Exception ......
Ist ja gut, habe gerade alles abgeändert
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:08 Uhr.
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