View previous topic :: View next topic |
Author |
Message |
Keruskerfuerst Advocate
Joined: 01 Feb 2006 Posts: 2289 Location: near Augsburg, Germany
|
Posted: Tue Nov 28, 2006 9:05 pm Post subject: Compilerflag |
|
|
Wäre es eigentlich besser anstatt -O2 -Os zu verwenden?
Führt dies zu einer Geschwindigkeitssteigerung des Betriebssystem oder nicht?
Ich habe einen AMD Athlon64 3200 mit 1GB RAM.
Last edited by Keruskerfuerst on Wed Nov 29, 2006 7:02 pm; edited 2 times in total |
|
Back to top |
|
|
dakjo Veteran
Joined: 31 Jan 2004 Posts: 1544
|
Posted: Tue Nov 28, 2006 9:07 pm Post subject: |
|
|
-Os optimiert die grösse der Pakete, sie werden also meist kleiner.
Leider hatte ich schon diverse schlechte erfahrungen damit gesammelt was Qt/KDE angeht.
Und auch so mancher XServer mochte das garnicht. |
|
Back to top |
|
|
Klaus Meier Advocate
Joined: 18 Apr 2005 Posts: 2908 Location: Bozen
|
Posted: Wed Nov 29, 2006 9:20 am Post subject: |
|
|
-Os nutzt nur die Funktionen zur Codeoptimierung, welche den Code nicht vergrößern. Dies macht Sinn bei Rechnern mit wenig Speicher. Bei 1GB definitiv nicht. Die Geschwindigkeit des erzeugten Codes ist nicht so besonders. Sollte nur benutzt werden, wenn der Speicher nicht reicht. Die Ausführungsgeschwindigweit ist halt um ein Vielfaches langsamer, wenn die Kiste ins Swappen kommt. |
|
Back to top |
|
|
musv Advocate
Joined: 01 Dec 2002 Posts: 3337 Location: de
|
Posted: Wed Nov 29, 2006 2:36 pm Post subject: |
|
|
Also ich würde jetzt einfach mal behaupten, daß die ganze Diskussion um O1,2,3,S irgendwie sowieso sinnlos ist.
Ich hatte eine lange Zeit lang O3 gefahren. Irgendwann mal bin ich davon weggekommen, da es einige Sachen gab, die sich mit O3 nicht compilieren ließen. Bin dann auf O2 umgestiegen.
Gefühlter Geschwindigkeitsunterschied bei Ausführung / Ladezeit der Programme: 0
Bin jetzt bei Os gelandet:
Gefühlter Geschwindigkeitsunterschied bei Ausführung / Ladezeit der Programme: 0
Oder hat mal jemand aussagekräftige Zahlenwerte, wieviel % jetzt ein Programm nach dem Compilieren in der Größe variiert und wieviel Sekunden jetzt das Starten des Programms schneller oder langsamer geht? |
|
Back to top |
|
|
Keruskerfuerst Advocate
Joined: 01 Feb 2006 Posts: 2289 Location: near Augsburg, Germany
|
Posted: Wed Nov 29, 2006 2:48 pm Post subject: |
|
|
Größenunterschied zwischen -Os und -O2: +10%. Nachgerechnet bei bash. |
|
Back to top |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Wed Nov 29, 2006 3:19 pm Post subject: |
|
|
Da gabs hier mal im Forum ein Script (oder ein Link dazu) wie man die Compilerflags abhängig vom Paket setzen kann. Ich habs schon eine Weile bei mir wie folgt gemacht:
Standard ist -O2 (in der make.conf)
Systempakete werden mit -Os gebaut (weil damit sind die kleiner und angeblich schneller geladen)
KDE bzw. "Desktop-Sachen" werden mit -O3 gebaut um das Maximum an Leistung rauszuholen
Bisher keine Probleme. |
|
Back to top |
|
|
Klaus Meier Advocate
Joined: 18 Apr 2005 Posts: 2908 Location: Bozen
|
Posted: Wed Nov 29, 2006 4:53 pm Post subject: |
|
|
Und, merkst du einen Unterschied im Vergleich dazu, wenn du alles mit -O2 machst?
Hab da auch mal ewig dran rumgespielt. Mein Ergebnis: Da man ja direkt erst Unterschiede so ab 30% merkt, kann man diesen ganzen Streß einfach vergessen. |
|
Back to top |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Wed Nov 29, 2006 5:04 pm Post subject: |
|
|
Klaus Meier wrote: | Und, merkst du einen Unterschied im Vergleich dazu, wenn du alles mit -O2 machst? |
Nicht wirklich... wenn überhaupt wird der nur im messbaren Bereich liegen. Zumal ich auch keinen direkten Vergleich habe. Aber ich fühle mich besser und der Spieltrieb wurde befriedigt. |
|
Back to top |
|
|
Keruskerfuerst Advocate
Joined: 01 Feb 2006 Posts: 2289 Location: near Augsburg, Germany
|
Posted: Wed Nov 29, 2006 7:03 pm Post subject: |
|
|
Werden eigentlich von den Programmieren der Pakete Compilerflags für die jeweiligen Pakete mitgeliefert?
Würde doch eigentlich Sinn machen, da sie ihren Programmcode am Besten kennen. |
|
Back to top |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Wed Nov 29, 2006 7:14 pm Post subject: |
|
|
Seltener. Meist werden nur kritische C-/LDFLAGS herausgefiltert oder z.B. von -O3 auf -O2 gesetzt.
Schönes Beispiel ist mplayer. Der wird ziemlich durch das Ebuild optimiert und dann wird -O4 beim kompilieren angezeigt. |
|
Back to top |
|
|
Klaus Meier Advocate
Joined: 18 Apr 2005 Posts: 2908 Location: Bozen
|
Posted: Wed Nov 29, 2006 8:50 pm Post subject: |
|
|
Also ich hatte auch mal diesen Trip, da ewig an den CFlags rumschrauben zu müssen. Und ich habe hier auch mal einen Thread gestartet, daß ich mit dem gcc 4.1.1 unzufrieden bin, weil da die experimentellen CFlags oft Probleme geben. Beim dreier gab es da weniger Probleme. Es sieht inzwischen so aus, daß viele Pakete, die an -O3 oder härterem scheitern, z.B. gtk, dies automatisch rausfiltern (jedenfalls vor drei Monaten noch, habs danach nicht mehr getestet). Und bestimmte andere Pakete, wie z.B. mplayer und andere aus dem Multimediabereich von sich auch fastmath und O3 von sich aus setzen. Aber da kann man auch von ausgehen, daß es dann keine Probleme gibt. Ich hatte z.B. mit -O3 bei KDE seltsame Erscheinungen. Es ließ sich kompilieren, es stürzte nicht ab, aber es hat sich falsch verhalten. fisibleinlines-hidden ist ja auch so ein Flag. Es beschleunigt KDE extrem, ist aber global nicht safe. Dafür gibt es ja ein Extra Useflag. Und der Firefox setzt es auch automatisch. Und damit ist das Flag durch, global setzen bringt dann Ärger, aber keine Verbesserung.
Also wenn mir einer etwas zeigt, wo alles mit durchgeht, nichts abstürzt, korrekte Ergebnisse bringt und spürbar schneller ist, dann soll er es mir zeigen. Ansonsten, -O2 und alles andere vergessen.
Ich sags auch noch mal, Gentoo ist nicht wegen der Performance eine Quellcodedistribution. Da geht es um Flexibilität und solche Dinge. Ein Debian oder Fedora ist auch nicht langsamer. |
|
Back to top |
|
|
musv Advocate
Joined: 01 Dec 2002 Posts: 3337 Location: de
|
Posted: Thu Nov 30, 2006 9:13 am Post subject: |
|
|
Keruskerfuerst wrote: | Größenunterschied zwischen -Os und -O2: +10%. Nachgerechnet bei bash. |
Ok, dann hab ich mit die -Os die für mich geeignetste Lösung gefunden. Da man Geschwindigkeitsunterschiede sowieso nicht merkt, ist die Optimierung nach Speicherplatz die bessere Wahl. Damit krieg ich dann im Endeffekt vielleicht ein MP3 mehr auf die viel zu kleine Platte. |
|
Back to top |
|
|
Keruskerfuerst Advocate
Joined: 01 Feb 2006 Posts: 2289 Location: near Augsburg, Germany
|
Posted: Sun Dec 03, 2006 7:12 pm Post subject: |
|
|
Macht es eigentlich Sinn --fforce-addr zu verwenden? |
|
Back to top |
|
|
Klaus Meier Advocate
Joined: 18 Apr 2005 Posts: 2908 Location: Bozen
|
Posted: Sun Dec 03, 2006 9:25 pm Post subject: |
|
|
Keruskerfuerst wrote: | Macht es eigentlich Sinn --fforce-addr zu verwenden? | Ich kann immer wieder nur den Artikel aus den GWN zitieren. Jedes LDFLAG und alle CFLAGS jenseits von -O2 -fomit-frame-pointer sind Zeitverschwendung und verursachen mehr Probleme als sie Vorteile bringen. Kann ich aus eigener Erfahrung nur bestätigen.
In manchen Benchmarks sieht das ja stellenweise auch beeindruckend aus, was man da beschleunigen kann. Aber ändere das Flag, mach ein emerge -e world und probier aus, ob du einen Geschwindigkeitszuwachs spürst. |
|
Back to top |
|
|
|