Autor Beitrag
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Sa 01.02.14 23:05 
Hallo zusammen,

ich habe meine Delphi 2007 Programme nach XE5 migriert.

Dabei ist die Größe der erzeugten exe und dll Dateien teilweise massiv gestiegen.
Mindestens um das Doppelte, also z.B.
* D2007 8,5 MB, XE5 17MB (Exe)
* D2007 1,8 MB, XE5 16 MB (dll)

ich nehme an, das hängt mit den verwendeten Bibliotheken zusammen.

Hat jemand eine ähnliche Erfahrung gemacht und konnte die Dateigröße wieder reduzieren, ohne einen Exe-packer zu nehmen?

DAnke und Gruß
CenBells

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 01.02.14 23:15 
Durch die erweiterten Funktionen und die erweiterten RTTI Informationen usw. nimmt die Größe der Dateien logischerweise zu. Dazu kommen noch die Debuginformationen, aber ich nehme mal an die hast du bei der Exe schon deaktiviert (bei der DLL sieht es aber so aus als ob die noch drin sind).

Zum Vergleich:
Neue leere VCL-Anwendung in der Debug-Konfiguration (mit Debug Informationen): 10,3 MiB
Ohne Debuginformationen: 2,01 MiB
Ohne RTTI-Informationen: 1,68 MiB

Da ist dann aber auch das Ende erreicht. ;-)

Und wenn du die RTTI-Informationen wirklich herausnimmst, kannst du logischerweise auch nicht mehr alle Funktionen benutzen. Livebindings, Funktionen wie GetEnumName usw., ... das geht dann alles nicht mehr. Deshalb würde ich es nicht empfehlen. Speicherplatz ist heute so billig, da sind die paar MiB doch absolut egal...
CenBells Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Sa 01.02.14 23:50 
Hallo Jaenicke,

vielen Dank für die Infos.

Ich habe mich schon etwas gewundert, was die unterschiedlichen Ziele im Optionsfenster zu sagen haben.
Das Debug so groß wird, ist auch einigermaßen verständlich.

Wie baue ich denn Dateien mit dem Ziel "Release"?

Vielen Dank im Voraus.

Viele Grüße
CenBells

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 02.02.14 00:39 
Du brauchst nur in der Projektverwaltung unter Build-Konfigurationen auf Release umschalten.

In den Projektoptionen musst du die, wenn du ein altes Projekt aktualisiert hast, evtl. auch noch richtig einstellen (sprich Debuginformationen im Release deaktivieren, ...). In den Projektoptionen schaltest du beim Umschalten zwischen den Konfigurationen nur um welche du gerade einstellst. Du aktivierst sie dort nicht, das geht wirklich nur in der Projektverwaltung (oder übers Menü).
CenBells Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: So 02.02.14 14:06 
Hallo Jänicke,

vielen Dank für die Hinweise.

Im Release Modus, dh ohne debug-infos, werden die DLLs teilweise wieder recht klein.

Die Exe jedoch bleibt bei ca der doppelten Größe. Aber ich glaub, damit kann ich leben :)

Danke und Gruß
CenBells

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
HeftCD
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 91
Erhaltene Danke: 9

Win2k, WinXP, Win7, Win8
Delphi 3 Pro, Delphi 5, Delphi 7, Turbo Delphi, BC1
BeitragVerfasst: Mo 03.02.14 08:44 
ohhh, das find ich aber großzugig von EmbarrassERO.

Endlich bekommt man mal was für's Geld.
Wenn man schon als Hobbyprogrammierer eine Version kaufen muß ...
die schon 120% teuerer ist als eine Delphi 3 damals (ca. 220 DM ~ 112€).


Delphi 2 bis 3 1997 - compilierte leere VLC Exe - 177 KiB
(Incl. Debuginfos, ohne allerdings genauso)

Delphi X5 2014 - gleiche Exe ... nur 17 MiB

das sind ja fast ganze um 98 % Zuwachs äh "Zugabe".


Bis 2017 hat man bestimmt man bestimmt die Grenze auf 200% erreicht.



Achja, ich hatte jetzt natürlich außer Acht gelassen: Die neuen Funktionen, die da alle mit drin sind.
Und die "keine Inflation" in der Zwischenzeit.
Und daß man mit der unbegrenzten Gewinnerwartung von Delphi 3 - auch bei kommerziellem Einsatz - nun verschmerzen kann maximal 1000 € mit dem Ding verdienen zu dürfen, weil man mit D3 zwischenzeitlich so viel erwirtschaften hätte können.
Was natürlich alles entschuldigt.
Einloggen, um Attachments anzusehen!