Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Compilerflag
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Keruskerfuerst
Advocate
Advocate


Joined: 01 Feb 2006
Posts: 2289
Location: near Augsburg, Germany

PostPosted: Tue Nov 28, 2006 9:05 pm    Post subject: Compilerflag Reply with quote

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
View user's profile Send private message
dakjo
Veteran
Veteran


Joined: 31 Jan 2004
Posts: 1544

PostPosted: Tue Nov 28, 2006 9:07 pm    Post subject: Reply with quote

-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
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Wed Nov 29, 2006 9:20 am    Post subject: Reply with quote

-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
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3337
Location: de

PostPosted: Wed Nov 29, 2006 2:36 pm    Post subject: Reply with quote

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
View user's profile Send private message
Keruskerfuerst
Advocate
Advocate


Joined: 01 Feb 2006
Posts: 2289
Location: near Augsburg, Germany

PostPosted: Wed Nov 29, 2006 2:48 pm    Post subject: Reply with quote

Größenunterschied zwischen -Os und -O2: +10%. Nachgerechnet bei bash.
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Wed Nov 29, 2006 3:19 pm    Post subject: Reply with quote

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
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Wed Nov 29, 2006 4:53 pm    Post subject: Reply with quote

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
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Wed Nov 29, 2006 5:04 pm    Post subject: Reply with quote

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
View user's profile Send private message
Keruskerfuerst
Advocate
Advocate


Joined: 01 Feb 2006
Posts: 2289
Location: near Augsburg, Germany

PostPosted: Wed Nov 29, 2006 7:03 pm    Post subject: Reply with quote

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
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Wed Nov 29, 2006 7:14 pm    Post subject: Reply with quote

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. :D
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Wed Nov 29, 2006 8:50 pm    Post subject: Reply with quote

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
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3337
Location: de

PostPosted: Thu Nov 30, 2006 9:13 am    Post subject: Reply with quote

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
View user's profile Send private message
Keruskerfuerst
Advocate
Advocate


Joined: 01 Feb 2006
Posts: 2289
Location: near Augsburg, Germany

PostPosted: Sun Dec 03, 2006 7:12 pm    Post subject: Reply with quote

Macht es eigentlich Sinn --fforce-addr zu verwenden?
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Sun Dec 03, 2006 9:25 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum