AGB  ·  Datenschutz  ·  Impressum  







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

Lazarus, EXE groß

Ein Thema von Lyan · begonnen am 6. Okt 2012 · letzter Beitrag vom 7. Okt 2012
Antwort Antwort
Seite 2 von 3     12 3      
Insider2004
(Gast)

n/a Beiträge
 
#11

AW: Lazarus, EXE groß

  Alt 6. Okt 2012, 18:26
Ich lese immer wieder, dass mit UPX argumentiert wird. Für was soll das gut sein? Der Start dauert erheblich länger und im Speicher ist die EXE genauso groß wie ohne UPX. Völlige Augenwischerei!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#12

AW: Lazarus, EXE groß

  Alt 6. Okt 2012, 18:33
Ich lese immer wieder, dass mit UPX argumentiert wird. Für was soll das gut sein? Der Start dauert erheblich länger und im Speicher ist die EXE genauso groß wie ohne UPX. Völlige Augenwischerei!
Und noch mehr: Are there any downsides to using UPX to compress a Windows executable?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delphi-Laie

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

AW: Lazarus, EXE groß

  Alt 6. Okt 2012, 18:43
Ich lese immer wieder, dass mit UPX argumentiert wird. Für was soll das gut sein? Der Start dauert erheblich länger und im Speicher ist die EXE genauso groß wie ohne UPX.
Sogar größer, denn der Dekomprimierungscode wandert ja mit in den Haupt-/Arbeitsspeicher (er muß dort mit hinwandern).

Völlige Augenwischerei!
Genaugenommen schon. Wenn man es auf der Festplatte oder zur Übertragung verkleinern möchte, gibt es viel bessere Komprimationsmöglichkeiten.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#14

AW: Lazarus, EXE groß

  Alt 6. Okt 2012, 18:46
Diese Diskussion um die Größe von Programmen, die eigentlich nichts oder nichts Sinnvolles machen, kommt offenbar immer wieder hoch. Worauf es doch wirklich ankommt ist die Größe von real genutzten Programmen und die durch deren Größe real existierenden Nachteile (wenn es denn welche gibt). In dem Fall kann man dann wirklich um Maßnahmen zur Größenreduzierung nachdenken und entscheiden, ob deren Nachteile das aufwiegen bzw. der ganze Aufwand wirklich lohnt. Als Argument für die Entscheidung über eine Entwicklungsumgebung (zumindest im Desktop-Bereich) taugt das allerdings in keinem Fall.

Zu den oft angeführten "leeren" Programmen fällt mir folgendes ein:

Es gibt ein Äquivalent zu einem solchen Programm das nichts macht, das dabei aber unendlich schnell ist, sich automatisch beliebig oft startet, den Prozessor überhaupt nicht belastet, garantiert fehlerfrei und mehrbenutzerfähig ist, vom Benutzer nicht wahrgenommen wird, von keinem Virenscanner angemeckert wird, unter jedem Betriebssystem läuft, auf jedem Rechner vorinstalliert ist und dabei genau 0 Bytes groß ist.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delphi-Laie

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

AW: Lazarus, EXE groß

  Alt 6. Okt 2012, 18:52
Ist das wirklich so sinnlos?

Ist die Größe einer Exe-Datei, der ein "leerer" Quelltext zugrundeliegt, nicht ein Grad-, ja Gütemesser, wie es um die Größe "sinnvoller" Compilate bestellt ist? Nach meiner Erfahrung schon!
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#16

AW: Lazarus, EXE groß

  Alt 6. Okt 2012, 19:02
Ist das wirklich so sinnlos?

Ist die Größe einer Exe-Datei, der ein "leerer" Quelltext zugrundeliegt, nicht ein Grad-, ja Gütemesser, wie es um die Größe "sinnvoller" Compilate bestellt ist? Nach meiner Erfahrung schon!
Humbug, dazu gibt es doch ganz andere Kriterien. Sonst wuerdest du ja auch nicht Delphi benutzen sondern C, wie der TE vorschlaegt.
Viel wichtiger als die paar Bytes sind in heutigen Zeiten doch Abstraktion, Portabilitaet und Interopabilitaet (und natuerlich schoener, gut schreib- und lesbarer Code).
  Mit Zitat antworten Zitat
Delphi-Laie

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

AW: Lazarus, EXE groß

  Alt 6. Okt 2012, 19:25
Ist das wirklich so sinnlos?

Ist die Größe einer Exe-Datei, der ein "leerer" Quelltext zugrundeliegt, nicht ein Grad-, ja Gütemesser, wie es um die Größe "sinnvoller" Compilate bestellt ist? Nach meiner Erfahrung schon!
Humbug, dazu gibt es doch ganz andere Kriterien.
Die Titulierung meiner erfahrungsbasierten Aussage als "Humbug" ist keine sachliche Auseinandersetzung mit meiner Aussage.

Sonst wuerdest du ja auch nicht Delphi benutzen sondern C, wie der TE vorschlaegt.
Was hat den "C" auf einmal damit zu tun? Würfe jetzt noch jemand reinen Assembler ein - der erzeugt erstmal kleine Exe-Dateien!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#18

AW: Lazarus, EXE groß

  Alt 6. Okt 2012, 19:51
Würfe jetzt noch jemand reinen Assembler ein - der erzeugt erstmal kleine Exe-Dateien!
Hatte ich schon: http://www.delphipraxis.net/1185991-post7.html
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Lazarus, EXE groß

  Alt 6. Okt 2012, 20:03
Natürlich ist die Größe einer "leeren" EXE keine Aussage, was eine volle EXE später mal für eine Güte haben könnte.

Nur ein paar Beispiele:

- Die Anfangsgröße sagt nichts aus, wie es später mal wird.
> Wenn ich mit einer kleinen EXE anfange, aber pro Zeile Code kommt ganz viel dazu, dann kann es am Ende auch ganz Groß werden.
> Wenn ich mit einer rißigen EXE anfange, aber pro Zeile Code kommt nur wenig dazu, dann kann es am Ende auch kleiner werden.

- Die Größe der EXE sagt absolut nichts darüber aus, wie gut und sicher der darin enthaltene Code ist.
> Ich kann mit viel Code ganau viel Schrott produzieren, wie mit wenig Code.

Und das Wichtigste:

- Ein großer Code kann sicherer sein ... hauptsache er ist einfach und vorallem wartbar.

- Wenn man einen Code ganz klein und superschnell bekommt, dann kann es toll sein.
Aber wenn ich dann am Ende nur noch hochoptimierten Assemblercode hab, den kein Mensch jemals wieder verstehen kann und in dem man auch nie wieder was ändern könnte, dann bringt das einem nicht unbedingt sehr viel.



Und dann eben noch die Sache mit den Laufzeitbibliotheken:
Man kann eben nicht alles direkt mit vergleichen.
z.B. ein Delphi-Programm wo alles gleich drin ist,
oder ein ganz kleines Delphiprogramm, welches gegen Runtimebibliotheken gelinkt wurde, die man mitgeben müßte.
(ja, man kann sämtlichen Code in BPLs auslagern und hätte dann eine EXE, mit der Funktionalität eines kompletten MS Office, welche aber nichtmal 100 KB groß ist)
oder eben ein .NET-Programm, wo man auch noch ein rießiges Framewörk im Hintergrund braucht.
Aber die besten Beispiele sind Basic, PHP, JavaScript, wo nur eine winzige Textdatei nötig ist, man aber zusätzlich, wie beim .NET, ein "rießiges" Framework/Interpreter benötigt.



Wer wirklich nur auf die Dateigröße achtet, der sollte direkt mit Assembler anfangen.
siehe die geilen 64K-Programme

Nja, was man von sowas wie UPX halten kann, kann man hier im Forum auch schon öfters nachlesen.
Nein, für kleine Tools, welche nicht installiert werden, mag es manchmal OK sein, aber oftmals ist es eigentlich garnicht nötig, daß man auch noch das letzte Byte mit sonstwelchen windigen Tricks einspart.
PS: Bei Delphi und Lazarus kann man auch noch so Einiges einsparen, wenn man gewisse Resourcen und Realocationstabellen rausschmeißt.
$2B or not $2B

Geändert von himitsu ( 6. Okt 2012 um 20:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#20

AW: Lazarus, EXE groß

  Alt 7. Okt 2012, 00:38
Die Option heißt aber nicht "ohne Debug-Infos". Die Option heißt "Debug Informationen generieren" und greift nur auf das aktuelle Projekt, nicht aber auf die verwendeten Packages. Und hier ist die LCL das Package, welches den ganzen Wust an Debug Informationen mitbringt. "-Xs" sorgt dann einfach nur dafür, dass ganz einfach gar keine Debug Informationen (von welcher Unit sie auch kommen) eingebunden werden.
Da halte ich den Delphi-Weg für sinnvoller. Packages (VCL/CLX/...) sind ohne Debug-Infos und wenn man mal gegen die mitgelieferten Sourcen Debuggen will setzt man den Haken "Mit Debug-DCU's kompilieren".
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 19:21 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