Discussion:
Exe - Größe
(zu alt für eine Antwort)
Lothar Planitzer
2016-12-26 22:39:25 UTC
Permalink
Hallo

nachdem ich seit 1999 mit Delphi 4 gearbeitet habe, habe ich mir kürzlich die
kostenlose Delphi 10.1 Berlin Starter 'Named User Promo Edition' heruntergeladen
und installiert. Diese 'Starter Edition' ist für meine Zwecke (einstweilen) mehr
als ausreichend. Die Einarbeitung war nicht ganz einfach, aber da doch das
meiste ziemlich vertraut scheint, geht die Arbeit mit der neuen
Entwicklungsumgebung mittlerweile ganz flott von der Hand. So habe ich mich
daran gewagt, ein mäßig umfangreiches Projekt aus jüngerer Zeit (18000 Zeilen
Quelltext) auf die neue Delphi - Version zu portieren. Schwierigkeiten gab es
erwartungsgemäß vor allem bei String - Operationen, wo einige Anpassungsarbeit
zu leisten war. Mittlerweile läuft es einigermaßen und scheint auch auf den
ersten Blick das zu tun, was es soll. Auffällig war nur, dass die Größe der EXE
- Datei exorbitant zugenommen hat: Die mit D4 compilierte EXE ist gerade mal 705
kb groß, mit Delphi 10 dagegen komme ich auf 2760 kb, obwohl ich den Quelltext
abgespeckt und sogar einige Programmteile entfernt hatte. Compiliert wurde mit
einer Release-Konfiguration ohne Debug-Informationen, mit Optimierung usw.
Die Frage ist jetzt: Ist diese Größe normal, oder gibt es da noch weitere
Stellschrauben? Die Dateigröße als solche ist natürlich heutzutage kein Problem,
aber ich wüsste doch gerne ob ich da alles richtig mache??

Gruß Lothar
Hans-Peter Diettrich
2016-12-27 00:59:50 UTC
Permalink
Post by Lothar Planitzer
Die Frage ist jetzt: Ist diese Größe normal, oder gibt es da noch
weitere Stellschrauben? Die Dateigröße als solche ist natürlich
heutzutage kein Problem, aber ich wüsste doch gerne ob ich da alles
richtig mache??
AFAIR muß man noch die erweiterte RTTI abschalten.

DoDi
Matthias Eißing
2016-12-27 08:57:58 UTC
Permalink
Die mit D4 compilierte EXE ist gerade mal 705 kb groß, mit Delphi 10
dagegen komme ich auf 2760 kb
Das ist weitestgehend normal.

Wie schon angesprochen kann man RTTI ausschalten. Bringt nicht viel,
aber etwas: In *jeder* Unit einfügen:
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

Siehe auch hier:
http://docwiki.embarcadero.com/RADStudio/Berlin/de/RTTI-Direktive_(Delphi)
--
cu://Matthias.Eißing.de
Peter Below
2016-12-27 09:20:38 UTC
Permalink
Post by Lothar Planitzer
Hallo
nachdem ich seit 1999 mit Delphi 4 gearbeitet habe, habe ich mir
kürzlich die kostenlose Delphi 10.1 Berlin Starter 'Named User Promo
Edition' heruntergeladen und installiert. Diese 'Starter Edition' ist
für meine Zwecke (einstweilen) mehr als ausreichend. Die Einarbeitung
war nicht ganz einfach, aber da doch das meiste ziemlich vertraut
scheint, geht die Arbeit mit der neuen Entwicklungsumgebung
mittlerweile ganz flott von der Hand. So habe ich mich daran gewagt,
ein mäßig umfangreiches Projekt aus jüngerer Zeit (18000 Zeilen
Quelltext) auf die neue Delphi - Version zu portieren.
Schwierigkeiten gab es erwartungsgemäß vor allem bei String -
Operationen, wo einige Anpassungsarbeit zu leisten war. Mittlerweile
läuft es einigermaßen und scheint auch auf den ersten Blick das zu
tun, was es soll. Auffällig war nur, dass die Größe der EXE - Datei
exorbitant zugenommen hat: Die mit D4 compilierte EXE ist gerade mal
705 kb groß, mit Delphi 10 dagegen komme ich auf 2760 kb, obwohl ich
den Quelltext abgespeckt und sogar einige Programmteile entfernt
hatte. Compiliert wurde mit einer Release-Konfiguration ohne
Debug-Informationen, mit Optimierung usw. Die Frage ist jetzt: Ist
diese Größe normal, oder gibt es da noch weitere Stellschrauben? Die
Dateigröße als solche ist natürlich heutzutage kein Problem, aber ich
wüsste doch gerne ob ich da alles richtig mache??
Machst Du.

Das war schon immer ein genereller Trend, mit jeder neuen
Delphi-Version steigt die Größe der EXE, da der Umfang der run-time und
VCL Klassenbibliotheken halt wächst. Leider gibt es da eine Menge
interner Abhängigkeiten, so daß selbst bei einem simplen VCL "Hello
world"-Programm ein großer Teil der Core-Bibliotheken mit eingebunden
wird.

Glücklicherweise ist aber auch die Leistungsfähigkeit der Rechner immer
weiter gestiegen und der Preis per MByte für Speicher immer weiter
gefallen, so daß die größeren Exes kein wirkliches Problem sind. Wenn
Du sie nicht gerade über eine 2400 baud Telefonleitung per Modem
transportieren mußt :-)...
Post by Lothar Planitzer
Gruß Lothar
--
Peter Below
TeamB
Loading...