AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Wie bekomme ich die exe kleiner?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie bekomme ich die exe kleiner?

Ein Thema von NicoleWagner · begonnen am 27. Jan 2020 · letzter Beitrag vom 8. Feb 2020
Antwort Antwort
Seite 1 von 2  1 2      
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

AW: Wie bekomme ich die exe kleiner?

  Alt 6. Feb 2020, 21:26
Ich würde einfach auf Release stellen. Das reicht vollkommen. Die paar MB sind heute doch total egal.
Na, das sehen z.B. die Administratoren so mancher Programmierforen aber ganz anders (deshalb Quotas), und das m.E. vollauf zurecht! Schließlich sind derlei begrenzte Ressourcen schließlich kostenpflichtig, was umso schwerer wiegt, wenn man diese dann kostenlos (und womöglich sogar noch unbegrenzt) anderen überläßt. Nicht umsonst gibt es die deutschen Sprichworte mit dem Kleinviehmist und dem Sich-Läppern.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.073 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wie bekomme ich die exe kleiner?

  Alt 6. Feb 2020, 22:18
Na, das sehen z.B. die Administratoren so mancher Programmierforen aber ganz anders (deshalb Quotas), und das m.E. vollauf zurecht!
Das hat mit dem Thema doch gar nichts zu tun. Um Programme zu verteilen packt man diese natürlich ganz normal in ein 7Zip-Archiv, Setup oder ähnliches. Das hat aber ja nichts damit zu tun, ob die Dateien lokal dann zum Ausführen gepackt sind oder nicht.

Die Zips werden im Gegenteil sogar deutlich kleiner, wenn man z.B. zwei unkomprimierte Exen oder eine unkomprimierte Exe und eine unkomprimierte DLL einpackt, als wenn man diese vorher mit einem solchen Exe-Packer komprimiert!
Das ist ja auch logisch, denn viele Teile von zwei in Delphi erstellten Anwendungen sind ähnlich. Man denke nur an die ganzen System-Units usw., die einkompiliert sind. Wenn man diese aber packt, kann ein Zip-Tool diese nicht mehr so gut zusammenfassen.

Beispiel:
Unsere Kassenanwendung und die zugehörige Backoffice-Anwendung. Unkomprimiert 57,7 und 61 MiB groß, komprimiert mit Aspack 11,7 und 12,2 MiB.
PackmethodeUnkomprimierte ExenGepackt mit Aspack
Unkomprimiert118,0 MiB24,0 MiB
7zip17,7 MiB23,4 MiB
Man sieht, dass die Version mit den vorher komprimierten Exen glatt ein Drittel größer ist als die mit den vorher nicht komprimierten...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

AW: Wie bekomme ich die exe kleiner?

  Alt 6. Feb 2020, 23:31
Die Zips werden im Gegenteil sogar deutlich kleiner, wenn man z.B. zwei unkomprimierte Exen oder eine unkomprimierte Exe und eine unkomprimierte DLL einpackt, als wenn man diese vorher mit einem solchen Exe-Packer komprimiert!
Ja, natürlich tun sie das! Wiederholte Komprimationen führen oft bis allermeistens eher zu einer Aufblähung.

Aber eine Exe-Verkleinerung über einen Exe-Packer ist doch ohnehin gemogelt und mithin die unseriöseste Dateiverkleinerung.

Deshalb nannte ich diese Möglichkeit auch zuletzt und nur in Kammern.

Der guten Nicole Wagner ging es vermutlich auch und womöglich zuvörderst darum, die Exedatei wirklich zu verkleinern.

Sosehr ich Pascal liebe und mit Delphi und Lazarus gern programmiere, sosehr hat mich die zunemende Verfettung ihrer Compilate im Verlaufe der Versionsfortschritte immer gestört.

Echt kleine Exedateien, und dann noch hochkomprimiert über zip, rar, 7zip (und noch besseres) sind das kleinste überhaupt und am ressourcenschonendsten auf Permanentspeichern!

Geändert von Delphi-Laie ( 6. Feb 2020 um 23:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.469 Beiträge
 
Delphi 12 Athens
 
#4

AW: Wie bekomme ich die exe kleiner?

  Alt 7. Feb 2020, 05:50
Moin...
[nur meine Meinung]
Zitat:
im Verlaufe der Versionsfortschritte
... versuch mal im Autohaus ein neues Auto zu bekommen was keinen Airbag hat. Es ist deine Entscheidung ob du mit einem Golf Bj.67 fährst oder die modernen Sprachfeatures nutzt.
[/nur meine Meinung]
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.052 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: Wie bekomme ich die exe kleiner?

  Alt 7. Feb 2020, 10:20
Moin...
[nur meine Meinung]
Zitat:
im Verlaufe der Versionsfortschritte
... versuch mal im Autohaus ein neues Auto zu bekommen was keinen Airbag hat. Es ist deine Entscheidung ob du mit einem Golf Bj.67 fährst oder die modernen Sprachfeatures nutzt.
[/nur meine Meinung]
Es ist ein kleiner Unterschied, ob du etwas bekommst, was du nur im Notfall (dann aber auf jeden Fall) benötigst, oder ob du immer alles dabei gepackt bekommst, was du nicht brauchst.
Um mal beim hinkenden Autobeispiel zu bleiben, ist das so, als ob du immer im Kofferraum und auf dem Dachgepäckträgger Wasser- und Wintersportausrüstung transportierst, egal wo du hinfährst.

Es ist ein großer Unterschied, ob man die Kosten für eine Funktionialität, die man auch nutzt, trägt, oder sie auch trägt, obwohl man sie überhaupt nicht benutzt.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Wie bekomme ich die exe kleiner?

  Alt 7. Feb 2020, 10:36
Es ist ein kleiner Unterschied, ob du etwas bekommst, was du nur im Notfall (dann aber auf jeden Fall) benötigst, oder ob du immer alles dabei gepackt bekommst, was du nicht brauchst.
Bezogen auf das Autobeispiel: Das ist fast immer so, das du Sachen dazu bekommst die du durch die Gegend fährst obwohl du es niemals brauchst (ob Notfall oder nicht). Und wenn es nur der Überdimensionierte Motor (und alles was dann damit zusammenhängt) ist, weil man eine höhere Ausstattung haben möchte um die komplette Sicherheitsausstattung zu bekommen... diese aber nur mit dem größten Motor zu haben ist.


Aber dennoch Stimme ich bei Delphi zu, wenn eine .exe erzeugt wird, muss nicht alles rein. Gerade bei Software könnte man beim erzeugen "intelligent abspecken" (alles raus was nicht benötigt wird) bzw. "intelligent packen" (nur rein was auch zusätzlich gebraucht wird). Zumindest wäre dies meine Erwartungshaltung.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.073 Beiträge
 
Delphi 12 Athens
 
#7

AW: Wie bekomme ich die exe kleiner?

  Alt 7. Feb 2020, 16:26
Aber dennoch Stimme ich bei Delphi zu, wenn eine .exe erzeugt wird, muss nicht alles rein. Gerade bei Software könnte man beim erzeugen "intelligent abspecken" (alles raus was nicht benötigt wird) bzw. "intelligent packen" (nur rein was auch zusätzlich gebraucht wird). Zumindest wäre dies meine Erwartungshaltung.
Wenn alles drin wäre, wären die Anwendungen noch deutlich größer. Das Problem ist einfach, dass man nicht unbedingt etwas direkt ansprechen muss, es aber dennoch benutzen kann. Wenn man eine Methode über die RTTI über den Namen anspricht, wäre es halt doof, wenn der Compiler diese nicht mit kompiliert hätte, weil sie ansonsten nicht verwendet wird.

Von daher mag das zwar leicht erscheinen, ist es aber nicht...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#8

AW: Wie bekomme ich die exe kleiner?

  Alt 7. Feb 2020, 16:28
Aber dennoch Stimme ich bei Delphi zu, wenn eine .exe erzeugt wird, muss nicht alles rein. Gerade bei Software könnte man beim erzeugen "intelligent abspecken" (alles raus was nicht benötigt wird) bzw. "intelligent packen" (nur rein was auch zusätzlich gebraucht wird). Zumindest wäre dies meine Erwartungshaltung.
Eben - meine auch!

Delphi hat bis heute einen sehr schnellen Compiler. Zum einen, weil der wohl nur einen Durchgang benötigt, zum anderen wirkt da wohl noch die Zeit, als Turbopascal in Maschinencode programmiert wurde, nach (waren das noch Zeiten sehr guter Softwarequalität, ich denke da auch an WordPerfect und Geoworks Ensemble!).

Doch für die Größe der Compilate wurde entweder wenig bis gar nichts oder jedenfalls wohl nicht so viel Entwicklungsarbeit wie in andere Dinge gesteckt- leider. Einzige Ausnahme, die ich bislang wahrnahm: Von Delphi 6 auf Delphi 7 kann es tatsächlich sogar kleiner werden.

Die von jaenicke genannten Datei-/Projektgrößen wirken zunächst einmal erschlagend. Keine Ahnung, wieviele Compilate diese Gesamtgröße verursachen.

Ja, und natürlich ist mir klar, daß 64 Bit per se größere Compilate als 32 Bit verursachen muß, das war schon beim Übergang von 16 auf 32 Bit so und natürlich auch, als der Standard von Konsole auf Windows visuelle Komponentne umgestellt wurde. Außerdem bin ich mir sicher, daß andere Programmiersprachen ebenfalls mit diesem Phänomen zu kämpfen haben (oder eher das Internet, die Computer und ihre Benutzer).

Dennoch tauchen solche Exe-Verkleinerungsfragen immer wieder in den Foren auf, eben, weil sie berechtigt sind.

Geändert von Delphi-Laie ( 7. Feb 2020 um 16:31 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.096 Beiträge
 
Delphi 12 Athens
 
#9

AW: Wie bekomme ich die exe kleiner?

  Alt 7. Feb 2020, 18:35
Es ist ein kleiner Unterschied, ob du etwas bekommst, was du nur im Notfall (dann aber auf jeden Fall) benötigst, oder ob du immer alles dabei gepackt bekommst, was du nicht brauchst.
Bezogen auf das Autobeispiel: Das ist fast immer so, das du Sachen dazu bekommst die du durch die Gegend fährst obwohl du es niemals brauchst (ob Notfall oder nicht). Und wenn es nur der Überdimensionierte Motor (und alles was dann damit zusammenhängt) ist, weil man eine höhere Ausstattung haben möchte um die komplette Sicherheitsausstattung zu bekommen... diese aber nur mit dem größten Motor zu haben ist.


Aber dennoch Stimme ich bei Delphi zu, wenn eine .exe erzeugt wird, muss nicht alles rein. Gerade bei Software könnte man beim erzeugen "intelligent abspecken" (alles raus was nicht benötigt wird) bzw. "intelligent packen" (nur rein was auch zusätzlich gebraucht wird). Zumindest wäre dies meine Erwartungshaltung.
Naja, ein Stück weit speckt der Compiler/Linker schon ab. Nennt sich Smartlinking.
Nur können bei komplett abgeschaltetem RTTI viele Dinge nicht mehr raus die früher rausgekonnt hätten,
da der Compiler/Linker u.U. nicht mehr so leicht wissen kann, ob das Zeugs nicht doch zur Laufzeit
dynamisch aufgerufen wird.

Grüße
TurboMagic

Geändert von TurboMagic ( 7. Feb 2020 um 18:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.826 Beiträge
 
Delphi 12 Athens
 
#10

AW: Wie bekomme ich die exe kleiner?

  Alt 7. Feb 2020, 11:36
Moin...
[nur meine Meinung]
Zitat:
im Verlaufe der Versionsfortschritte
... versuch mal im Autohaus ein neues Auto zu bekommen was keinen Airbag hat.
Das nennt man Motorrad, kenne die Fachbegriffe.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz