Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#2

AW: Größe der *.exe

  Alt 5. Jun 2024, 16:37
2-5 MB für eine VCL-Anwendung (10-15 MB mit Debuginfos)
und knapp unter 1 MB für eine Consolen-Anwendung
sind inzwischen eigentlich normal.

Aber heute habe ich auch 'nen Terrabyte an HDD (keine 30 MB mehr)
sowie 16 oder gar 64 GB RAM (nicht mehr nur 1 MB)
und 'nen Gigabit im Download (keine 56kbit).



Als Release kompilieren (ohne Debug-Infos) ... alternativ "mit externen TDS" für Debug

Dann kann man noch bei der RTTI so Einiges abschalten, aber nur was deine eigenen Units/Klassen betrifft.
Standardmäßig enthält die erweiterte RTTI jetzt auch PRIVATE, "falls" man auf Eigentschaften/Funktionen via RTTI zugreifen wöllte.
https://docwiki.embarcadero.com/RADS...ctive_(Delphi)

Ansonsten ist inzwischen auch viel mehr in der RTL und VCL drin, was auch noch dazu kommt.
Würde Vieles nicht in er INITIALIZATION initialisiert, sondern in CLASS-CONSTRUCTOR, dann könnte der Linker vieles weglassen, was nicht benutzt wird.
(steht es aber in INITIALIZATION drin, dann wird es benutzt, selbst wenn es "eigentlich" nicht benutzt wird)

Leider können ungenutzte Ressourcen vom Linker nicht entfernt werden, da er nicht weiß ob sie genutzt werden.
(es ist leider nicht möglich eine Ressource z.B. an eine Klasse oder Methode zu hängen, um die Einbindung davon abhängig zu machen, ob der Teil gelinkt wurde)
Wurde eine Unit sinnlos eingebunden und dann nicht benötigt, dann ist ihr Zeugs (INITIALIZATION und Ressourcen) dennoch mit drin und wiederum Das davon eingebundener Units usw.




Ich hab grade eben eine winzige Test-EXE erstellt, mit effektiv 20 Zeilen Code, und auf der Form 3 Panels, ein Memo und zwei Drag&Drop-Komponenten.
Delphi 11 -> 126 MB mit DebugInfos und 40 MB ohne. (leider enorm viele Abhängigkeiten, welche aber eigentlich nicht benutzt werden)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 5. Jun 2024 um 16:48 Uhr)
  Mit Zitat antworten Zitat