Einzelnen Beitrag anzeigen

ventiseis

Registriert seit: 15. Jan 2009
Ort: 94032 Passau
53 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Generics / Speicherprobleme in der IDE

  Alt 23. Apr 2015, 09:24
Delphi-Version: XE3
Hallo,

da bei uns die IDE regelmäßig wg. Speicherproblemen abstürzt, bin ich mal auf die Suche gegangen, warum die DCUs eines Moduls so groß werden.

Hauptgrund scheint zu sein, dass durch die Generics unser Objektmodell zu umfangreich wird (größte DCU: 14MB). Nach einer Analyse mit MapFileStats (http://www.delphitools.info/other-tools/mapfilestats/) wird der meiste Platz offensichtlich dadurch verbraucht, dass generische Typen (z.B. Listen) immer wieder neu "kopiert" werden, obwohl die Implementierung für normale Objekte eigentlich identisch sein müsste.

Jetzt nun die Frage, gibt es irgendeine Möglichkeit / Strategie, dieses Dilemma zu umgehen? Sollte man wieder eigene Collectionklassen schreiben (oder für jeden Typ eine Ableitung von TCollection erzeugen)? Wie seid ihr mit dem Problem umgegangen?

Einerseits möchte man ja die Typsicherheit von generischen Listen behalten, andererseits nützt die einem auch nix mehr, wenn man nach jedem Compilieren Delphi neu starten muss.

PS: Die üblichen Einstellmöglichkeiten (Projektoptionen) haben wir schon durchprobiert. Und ja, wir verwenden RTTI im Objektmodell. Und wir kompilieren Debug-Infos mit ein, damit im Fehlerfall Zeilennummern mit ausgegeben werden. Laufzeitpackages sind auch aktiv, allerdings nur für die gängigen Delphi-Packages (vcl,rtl, ..).
Bastian
  Mit Zitat antworten Zitat