Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.009 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#31

AW: Quo vadis Embarcadero?

  Alt 20. Feb 2014, 12:55
Ich denke, bestimmte Sprach-Features wie in diesem Fall Generics bringen naturgemäß einen gewissen Overhead mit sich. Dass die Binaries dann größer werden versteht sich irgendwie von selbst.
Nö, nur wenn sie eben so implementiert sind, wie in Delphi, als Templates. Dann wird für jede TList<T> eine Kopie gemacht und T entsprechend ersetzt, durch string, Integer, TFoo, TBar, was auch immer. Dumm nur, dass zumindest für alle möglichen Klassen der interne Code für diese Klasse identisch ist. Ob ich nun eine TFoo oder eine TBar Instanz hinzufüge, der ausgeführte Code ist immer der gleiche. Solang also nichts mit T direkt gemacht wird (z.B. T.Create oder TypeInfo(T) etc) könnte der Linker den Code zusammenführen, so dass nicht für TList<TFoo> und TList<TBar> der identische Code zweimal in der Binary steht (siehe für mehr Infos dazu diesen Blog Artikel).

Das wurde auch schon experimentell mal von Commmunity Membern gemacht, was doch einiges an Ersparnis in einer Anwendung brachte.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat