Hallo
Momentan kompiliere ich die wichtigsten Pakete (x, gnome, kde, mozilla,..) neu, um sie auf meinem alten Rechner (P2, 300MHz) etwas schneller laufen zu kriegen. Allerdings hab ich da nun meine Zweifel. Denn wenn ich ein optimiert compiliertes Paket installieren möchte, brauchen sie einige 100KB mehr Platz auf dem Rechner (ausgepackt).
Doch rechnete ich damit, dass die Pakete kleiner würden, da ein Pentium für die gleiche Applikation weniger Befehle ausführen muss als ein 80386?! Kann mir da jemand den Grund dafür erklären?
Gruss,
Daniel
Pakete nach apt-build kompilation einiges grösser
überprüfe einmal ob deine Programme, Shared Objects/Libraries "stripped" sind
du solltest ungefähr so eine Ausgabe bekommen
Ändern kannst du das mit dem Programm "strip", bzw Linker Option wäre "-S"
du solltest ungefähr so eine Ausgabe bekommen
Code: Alles auswählen
file <binaryfile>
<binaryfile>: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped
Re: Pakete nach apt-build kompilation einiges grösser
Diese Befehle sind aber nicht unbedingt schneller. Was auch optimiert wird, ist die Position der Variablen im Speicher, diese müssen an einer durch 4,8 oder sogar 16 teilbaren Speicheradresse liegen, damit der Pentium sie in einem Takt auslesen kann. So nehmen 2 chars dann plötzlich bis zu 16 Bytes ein.jaspis hat geschrieben:Doch rechnete ich damit, dass die Pakete kleiner würden, da ein Pentium für die gleiche Applikation weniger Befehle ausführen muss als ein 80386?!
Dies und andere Sachen führen dazu, das die Executables größer werden. Wenn du anstatt -O3 -Os angibst, wird eher auf kleine Dateigröße geachtet.
Du kannst natürlich auch mit -falign-functions etc. rumspielen, wenn du viel Wert auf Platz legst, das Programm wird dann natürlich langsamer.
HTH
Hallo
Danke für die Antworten.
Ich hab -O2 als Optimierungsgrad angegeben (den Mittelweg zwischen Dateigrösse und Geschwindigkeit). Hier im Forum wird überall von -O3 abgeraten, da zu fest optimiert Fehler verursachen könnte..
wie geht das mit dem "strippen genau?
einfach "strip gnome-session" angeben zum Bsp.?
Hab ich mal durchgeführt, die Dateigrösse veränderte sich nicht, aber es hat was gemacht, weil ich dies an der neuen Uhrzeit der Datei sehen konnte. Auch "strip -s gnome-session" veränderte die Dateigrösse nicht.
Gruss,
jaspis
Danke für die Antworten.
Ich hab -O2 als Optimierungsgrad angegeben (den Mittelweg zwischen Dateigrösse und Geschwindigkeit). Hier im Forum wird überall von -O3 abgeraten, da zu fest optimiert Fehler verursachen könnte..
wie geht das mit dem "strippen genau?
einfach "strip gnome-session" angeben zum Bsp.?
Hab ich mal durchgeführt, die Dateigrösse veränderte sich nicht, aber es hat was gemacht, weil ich dies an der neuen Uhrzeit der Datei sehen konnte. Auch "strip -s gnome-session" veränderte die Dateigrösse nicht.
Gruss,
jaspis