Frage von LuckyChicken91, 50

Kann ich eine .exe Datei komprimieren/schneller machen?

Ich habe 2 Programme geschrieben und bisher eines zu einer .exe importiert nur startet diese recht langsam aber ich habe mal sowas gehört dass man .exe Dateien irgendwie "komprimieren" kann oder so etwas in der art so dass die dann schneller sind? Geht das irgendwie? Denn wenn ich mein Programm in der Shell starte geht das schneller. Könnt ihr mir da irgendwie helfen?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Nenkrich, 29

Wenn man Dateien komprimiert werden sie eher langsamer dafür sinkt die Dateigröße. Ich weiß jetzt nicht was dein Programm macht, allerdings könnte es sein das du die Programmierungsoptimierung musst. Ich kenne mich mit der Programmierung von Computer nicht so aus allerdings beispielsweise bei Arduino's wird gerne mal 'delay' verwendet weil es einfach ist, allerdings stoppt es natürlich den kompletten Arduino. Vlt sind es ja bei dir Timer/ schleifen.

Kommentar von LuckyChicken91 ,

Hmm schade war mir wirklich das so was geht..

Kommentar von LuckyChicken91 ,

wirklich sicher*

Kommentar von Nenkrich ,

Komprimierte Dateien, werden meistens im temporären Ordner erst entpackt. Das braucht Zeit

Es könnte sein das du mit Komprimierung meintest das alles unnötige aus dem Programm entfernt wird. Ich glaube dafür bräuchtest du einen Programmierer der sich deinen code angucken kann und dir sagt was du vielleicht anders machen solltest

Kommentar von LuckyChicken91 ,

Ach das weiß ich schon selber. Bisher habe ich eine unnötige Error Meldung entfernt um einen möglichen Crash zu verhindern allerdings stellte ich fest dass der Crash nicht möglich ist.

Kommentar von PWolff ,

Es gibt Laufzeitkomprimierer, die ausführbare Dateien "transparent" komprimieren können, d. h. so, dass sie sich (bis auf Geschwindigkeitsunterschiede, Speicherbedarf und Rechenkern-Auslastung) ebenso wie das Original verhalten.

Die lohnen sich aber nur bei langsamen Festplatten (oder allgemein langsamer Datenübertragung) und schnellen Prozessoren. Dann kann ein komprimiertes Programm allerdings merklich schneller sein als ein unkomprimiertes.

Expertenantwort
von regex9, Community-Experte für Programmierung, 12

Optimierungsmöglichkeiten:

  • natürlich bei den Algorithmen, die du verwendest
  • genutzte Sprachfeatures
  • bei manchen Projekten (.NET) kannst du zwischen Debug- und Release-Mode unterscheiden, wobei letzteres überflüssige Daten herauswirft, die bei ersterem in der Entwicklungsphase noch als Hilfsmittel dienen können
  • Wahl des richtigen Compilers
  • Lade-Verteilung (nicht alles muss zum Start der Anwendung geladen werden)
  • Ressourcenkomprimierung  (sprich, kleinere Ressourcen verwenden, um die Ladezeit zu verringern)
Antwort
von wolfiby, 22

Hallo! Was heißt 2Programme geschrieben und eins in exe importiert? Hast du eine Batch geschrieben? Oder was mit Java oder sogar C#/VB? Ein Programm läuft immer in höchstgeschwindigkeit. Wenn Du es komprimierst muss es erst entpackt werden um lauffähig zu sein was natürlich die ganze Sache langsamer macht...

Kommentar von LuckyChicken91 ,

Na ich hatte eben keine Lust noch eine .exe zu machen... Wollte erstmal eine Testen aber darum geht es ja auch gar nicht. Ich habe ein Ruby Programm geschrieben. Also wenn ich ein Programm konvertiere erscheint sofort eine .exe Datei ohne alles und nicht in einem Ordner. Da ist doch nichts falsch oder?

Antwort
von JupStrunk, 20

kannst es mal mit UPX versuchen...
keine Ahnung, ob es dadurch auch schneller wird...

https://upx.github.io/

Kommentar von LuckyChicken91 ,

Denke nicht dass es geht

Antwort
von Mornamath, 16

Um was für eine Art Programm handelt es sich denn? In welcher Sprache hast du das ganze denn geschrieben und welchen Compiler hast du genutzt?

Kommentar von LuckyChicken91 ,

Einen Interpreter.

Kommentar von PWolff ,

Also ist die ausführbare (".EXE-") Datei eine eigenständig lauffähige Version des Interpreters plus das Script als Ressource.

Dann kann man auch keine höhere Geschwindigkeit erwarten.

Antwort
von joheipo, 20

Vielleicht mit einem anderen Compiler, obwohl das eher unwahrscheinlich ist.

In der Shell, also ohne den ganzen Grafikschnickschnack, hat der Rechner mehr freie Ressourcen und der Programmaufruf wird beschleunigt.

Kommentar von LuckyChicken91 ,

Dann werde ich jetzt eher einfach mal versuchen einen lade screen zu machen

Antwort
von grtgrt, 10

Ja. Benutze UPX: https://upx.github.io/

Keine passende Antwort gefunden?

Fragen Sie die Community