Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

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

AW: Wie bekomme ich die exe kleiner?

  Alt 7. Feb 2020, 19:27
Kann man die RTTI (oder wie heißt das?) eigentlich einfach deaktivieren, wenn man sie nicht benötigt? Und wie viel ändert das an der Größe?
RTTI für System.Generics.Collections ausgeschalten, TEnumerable<T>.ToArray virtual abstract gemacht und noch ein paar kleinere Anpassungen in System.Generics.Defaults -> 1.6MB, davon 134KB durch Generics (14 TDictionary<,> und 29 TList<>).

Warum 30 Listen weniger? Ich vergaß: TDictionary<TKey, TValue> hat intern Klassen, die von TEnumerable<TKey> und TEnumerable<TValue> ableiten, somit bekam man pro TDictionary<,> 3 neue TList<> Klassen (für TKey, TValue und TPair<TKey,TValue>) - wären also im besten Fall 42 mal TList<> weniger - einige Kombinationen sind aber noch wirklich als TList<> benutzt - z.B. wenn ein TDictionary als key TClass hat, denn TList<TClass> wird irgendwo benutzt.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie ( 7. Feb 2020 um 19:37 Uhr)
  Mit Zitat antworten Zitat