Autor Beitrag
hRb
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 267
Erhaltene Danke: 12



BeitragVerfasst: Mi 18.03.20 22:41 
Hallo zusammen,
ich habe früher mit Delphi7 gearbeitet. Die compilierte exe war etwa 1.400 kB groß.
Heute arbeite ich mit Delphi 10.1 Berlin Update2. Das nur wenig erweiterte Programm ist jetzt 3.260 kB. Liegt das daran, dass früher die Datei qtintf70.dll mitgeliefert werden musste?
Ein vergleichsweises einfaches 2. Programm, mit dem ich nur Bilder sortieren und Dateinamen umbenennen kann ist 11.320 kB groß !!
Ich sehe deutlich leistungsfähigere Programme die sehr viel kleiner sind.
Frage: Wer hat Erklärung und gibt es irgendwelche Compilereinstellungen, die man nach dem Programmtest einschaltet und nochmals anschließend "optimiert" compiliert?
hRb

Moderiert von user profile iconTh69: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Do 19.03.2020 um 08:07
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 18.03.20 23:13 
Das liegt daran, dass immer mehr Standardfunktionalität zur Verfügung steht, an die früher gar nicht zu denken war. Zum Beispiel brauchen die RTTI-Daten, mit denen du den Aufbau von Objekten usw. zur Laufzeit untersuchen kannst, einigen Speicherplatz. Und gleichzeitig kann der Compiler nicht mehr so viel weglassen, weil mit diesen Informationen auch Quelltext verwendet werden kann, der nicht direkt referenziert wird.

Man kann die Buildkonfiguration auf Release stellen (rechts in der Projektverwaltung), dann ist die Exe schon einmal deutlich kleiner als mit Debug-Konfiguration. Eine leer Anwendung ist als Debug-Exe 11,8 MiB groß, unter Release nur 2,3 MiB.

Trotzdem bleiben Anwendungen größer als mit älteren Versionen. Damit konnte man aber auch weniger Out-Of-The-Box machen...

Davon abgesehen ist der Speicherplatz heute ja ohnehin fast schon egal. Andere Dateitypen brauchen ja sowieso den größten Teil des Speicherplatzes (Videos, Fotos, ...).
hRb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 267
Erhaltene Danke: 12



BeitragVerfasst: Do 19.03.20 18:08 
Danke,
Zitat:
Man kann die Buildkonfiguration auf Release stellen ... Eine leer Anwendung ist als Debug-Exe 11,8 MiB groß, unter Release nur 2,3 MiB.

Diese Einstellung kannte ich noch nicht. Hat diese Einstellung ggf. negative Auswirkungen im online-Betrieb (evtl. Programmabsturz) z.B. bei nicht abgefangenen Fehlern?
hRb
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Fr 20.03.20 09:54 
Der Unterschied wird ganz gut in (wenn auch englischen Artikel) Debug vs. Release in Delphi Build Configurations erklärt.

Hast du bisher immer Debug-Versionen ausgeliefert?

Bei nicht abgefangenen Fehlern ist es egal, welche Build-Konfiguration eingestellt wurde: solange kein Debugger dranhängt, wird es einen Absturz geben.
hRb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 267
Erhaltene Danke: 12



BeitragVerfasst: Di 24.03.20 13:21 
Danke jaenicke und Th69, das war ein sehr hilfreicher Link der alles erklärt!
Zitat:
Hast du bisher immer Debug-Versionen ausgeliefert?

Zum "Glück" bin ich Hobbyprogrammierer und schon 20 Jahre aus dem Beruf. So fehlen mir der Fachaustausch mit Kollegen bzw. Schulungskurse. Benutzte jeweils immer die Standard-Voreinstellungen der unterschiedlichen Compilerversionen und wunderte mich nun über die Größen-Explosion der Programme. Meine Programme sind daher nur für den eigenen Gebrauch und für einen kleinen Freundeskreis. Bin daher so dankbar für dieses Forum!
Zitat:
Damit konnte man aber auch weniger Out-Of-The-Box machen...

Mit dem Begriff Out-Of-the-Box kann ich leider nichts anfangen.
PS: Warum Frage verschoben?. Wohin? Und wo gehört denn eine solche Frage hin, wenn nicht zu "Delphi Language"? Sonstiges?
Ok ich sehe es jetzt: "Programmierwerkzeuge". Na, ja, da würde ich nicht suchen:
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 24.03.20 17:04 
user profile iconhRb hat folgendes geschrieben Zum zitierten Posting springen:
Mit dem Begriff Out-Of-the-Box kann ich leider nichts anfangen.
"Ohne weitere Erweiterungen", sprich damit ist alles gemeint, was bereits mitgeliefert ist.

Früher brauchte man für vieles zusätzlichen Code oder Bibliotheken, was heute einfach nur noch ein Funktionsaufruf ist.