AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 12 Größe der Exe

Ein Thema von Starsky911 · begonnen am 31. Jan 2024 · letzter Beitrag vom 1. Feb 2024
Antwort Antwort
Starsky911

Registriert seit: 8. Feb 2008
Ort: Bremen
96 Beiträge
 
Delphi 11 Alexandria
 
#1

Delphi 12 Größe der Exe

  Alt 31. Jan 2024, 16:20
Delphi-Version: 5
Ich habe einen VCL-Win64 RestServer von Delphi11 auf Delphi12 migriert.
Dabei hat die Größe der Exe erheblich zugenommen.

Gegeüberstellung:

Delphi 11
===========
Release
- DCU 8,45MB
- EXE 21,3MB

Debug
- DCU 9,48MB
- EXE 21,4

Delphi12
===========
Release
- DCU 10,2
- EXE 34,7MB
Debug
- DCU 10,2
- EXE 34,9MB

Das die Exe bei einem neuen Delphi-Releases etwas größer wird ist ja normal
aber dieser deutliche Zuwachs kommt mir komisch vor!
Gibt es da irgendwelche Compiler Einstellungen?

Vielen Dank im Voraus.
Starsky
Gibt es da bei Delphi12 eine Compiler Einstellung um die Exe
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.612 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Delphi 12 Größe der Exe

  Alt 31. Jan 2024, 16:25
Ich würde mal auf Debug Symbole tippen. Unter Linker-Einstellungen.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Delphi 12 Größe der Exe

  Alt 31. Jan 2024, 16:40
Jupp, die DebugSymbole sind schon extrem.

Du kannst ja interessehalber mal auf "externe TDS" umstellen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Starsky911

Registriert seit: 8. Feb 2008
Ort: Bremen
96 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Delphi 12 Größe der Exe

  Alt 1. Feb 2024, 14:31
Der Übeltäter ist ausgemacht, es liegt an "HTML Office Library"
In der Version 4.6 wird die Exe um 2MB aber in der Version 4.8 um 15MB vergrößert.
Die DCU's sind in Summe nur etwas größer.

Kann es sein das in dem Sourcen der neueren Komponente irgendwelche Compiler Direktiven falsch gesetzt wurden?
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
682 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Delphi 12 Größe der Exe

  Alt 1. Feb 2024, 15:48
Vermutlich sind da Ressourcen mit gespeichert die mehr Platz brauchen. Eingelagerte dll sind bei solchen Komponenten nicht selten.
Die Compilerschalter wirken auch auf die bereits übersetzten Module und es wird nur das übernommen was gebraucht wird (falls es vorhanden ist)
Bei DevExpress ging das in den letzten Jahren auch immer wieder höher. Zum Glück ist nun viel in den externen Skin Dateien.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Starsky911

Registriert seit: 8. Feb 2008
Ort: Bremen
96 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Delphi 12 Größe der Exe

  Alt 1. Feb 2024, 16:07
Vermutlich sind da Ressourcen mit gespeichert die mehr Platz brauchen. Eingelagerte dll sind bei solchen Komponenten nicht selten.
Die Compilerschalter wirken auch auf die bereits übersetzten Module und es wird nur das übernommen was gebraucht wird (falls es vorhanden ist)
Bei DevExpress ging das in den letzten Jahren auch immer wieder höher. Zum Glück ist nun viel in den externen Skin Dateien.
Sollten sich nicht dann auch die DCU's sich entsprechend vergrößern?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Delphi 12 Größe der Exe

  Alt 1. Feb 2024, 16:15
Ressourcen liegen nicht in der DCU. (weder .RES noch .DFM)

Deswegen https://quality.embarcadero.com/browse/RSP-42284
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.612 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Delphi 12 Größe der Exe

  Alt 1. Feb 2024, 16:45
Die Compilerschalter wirken auch auf die bereits übersetzten Module
Nein, tun sie nicht. Compilerschalter wirken sich nur auf die Erstellung von DCUs aus den Sourcen aus. Wenn man bereits vorübersetzte DCUs einbindet, haben Compilerschalter auf diese DUDs keine Wirkung.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Delphi 12 Größe der Exe

  Alt 1. Feb 2024, 17:47
Also die Compilerschalter, welche den Code (PAS) kompilieren.

Alles was auf's Linken wirk, oder erst zur Laufzeit, das ist davon nicht betroffen.
z.B. {$M ...} und {$R ...}

In der DCU liegt dann aber der schon kompilierte und optimierte Code, eventuell mit oder ohne Hilfscode (Überlauf-/Indexprüfung, Assertions usw.), welcher nachfolgend nicht mehr verändert wird.

Aber z.B. die DebugInfos:
* es gibt einen/mehrere Schalter, welche die Generierung dieser Infos beeinflussen (also was in der DCU landet)
* aber es gibt auch Schalter/Optionen, welche erst das Linken beeinflussen (also ob die eventuell generierten Infos dann wirklich in der EXE/DLL eingebunden bzw. mitgegeben werden)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 1. Feb 2024 um 18:26 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
682 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Delphi 12 Größe der Exe

  Alt 1. Feb 2024, 18:02
Die Compilerschalter wirken auch auf die bereits übersetzten Module
Nein, tun sie nicht. Compilerschalter wirken sich nur auf die Erstellung von DCUs aus den Sourcen aus. Wenn man bereits vorübersetzte DCUs einbindet, haben Compilerschalter auf diese DUDs keine Wirkung.

Guckst du :
Also die Compilerschalter, welche den Code (PAS) kompilieren.

Alles was auf's Linken wirk, oder erst zur Laufzeit, das ist davon nicht betroffen.
z.B. {$M ...} und {$R ...}

In der DCU liegt dann aber der schon kompilierte und optimierte Code, eventuell mit oder ohne Hilfscode (Überlauf-/Indexprüfung, Assertions usw.), welcher nachfolgend nicht mehr verändert wird.

Aber z.B. die DebugInfos:
* es gibt einen/mehrere Schalter, welche die Generierung dieser Infos beeinflussen (also was in der DCU landet)
* aber es gibt auch Schalter, welche erst das Linken beeinflussen (also ob die eventuell generierten Infos dann wirklich in der EXE/DLL eingebunden bzw. mitgegeben werden)
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz