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?
7 Antworten
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.
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.
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.
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)
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...
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?
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.
Dann werde ich jetzt eher einfach mal versuchen einen lade screen zu machen
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?
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.
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