Hallo, Am Mon, 05 Jan 2004, Rüdiger Meier schrieb:
Am Montag, 5. Januar 2004 02:08 schrieb Tobias Weisserth:
Einen Vergleich zu SuSE auf meiner Maschine habe ich nicht, aber zu Mandrake oder Debian auf derselben Hardware spüre ich bei einzelnen Anwendung einen deutlichen Unterschied.
Das hört sich immer subjektiv an, hast Du mal irgendwas nachgemessen?
Also, ich kompiliere hier (zwanglaeufig) praktisch alles selbst[1], und bei manchen Anwendungen habe ich gegenueber den fuer i386 kompilierten Paketen durchaus signifikante Vorteile, z.B. bei bzip2 sind es IIRC 5-30%, mit dem 'icc' laesst sich auch noch mehr rausholen.
Der Unterschied zu Debian unstable ist kleiner, da die mittlerweile ihre Pakete auf i686 übersetzen, aber die üblichen i386 binaries sind deutlich träger als meine durch Portage übersetzten.
Mich wunderts halt, daß bei SuSE alles nur für i586-Architektur kompiliert wird. Nur den Kernel gibts für Athlon und die glibc für i686 - scheint also in diesen beiden Fällen besonders viel Sinn zu machen.
Jep. i586 ist Pentium mit MMX (IIRC), und damit ist der Gewinn besonders hoch. SSE[2] lohnt sich eigentlich nur bei Multimedia Kram wie xine/mplayer bzw. den dort verwendeten codecs, und da sind (ausser den ffmpeg codecs) die meisten ja sowieso leider nur als windows dlls verfuegbar... Das mit dem Kernel und der glibc kann ich durchaus bestaetigen. Ausserdem lohnt sich offenbar C++ Kram (QT, KDE v.a.) mit nem g++ >= 3.2 zu kompilieren, da hab ich aber mangels passendem gcc/g++ keine Erfahrungen mit.
Bei der glibc interessiert es mich also, ob es sich lohnen würde diese für meinen AthlonXP zu optimieren.
IMO nein. Der Unterschied i686 / athlon ist bei den Funktionen, die von der glibc verwendet werden AFAIK praktisch irrelevant, denn die glibc verwendet kein SSE[2] bzw. 3dnow etc.
Ich hatte mal interessehalber ein paar Tests gemacht und z.B lame einmal für i586 und einmal für athlonXP+alle_möglichen_cflags kompiliert und auf ein grosses test.wav losgelassen. Der Performancegewinn lag unter einem Prozent!
Das waere allerdings etwas wenig... Naja, kommt darauf an, wie die i586er Version kompiliert wurde. Wenn mit MMX, dann hat man damit praktisch schon alles was sich lohnt aktiviert. Alles andere sind dann hoechstens noch z.B. alignment-Optimierungen etc., dass die sich nochmal zu 1% summieren ist schon "sehr gut".
Bei transcode sah es auch nicht besser aus.
dito.
Deshalb wundere ich mich immer über den ganzen Aufwand den viele Leute betreiben, um ihre Programme selbst zu kompilieren, würde mich aber gern eines besseren belehren lassen, indem mir mal jemand ein messbares Beispiel für lohnenden Performancegewinn aufzeigt.
s.o. Seit SuSE fuer i586 kompiliert lohnt sich ein selber kompilieren wg. der Performance fast nicht mehr. Aus anderen Gruenden lohnt sich das selberkompilieren aber dennoch oefters, weil SuSE oefter mal ein Feature ab- oder anschaltet, dass man moechte bzw. nicht moechte, z.B. bei ImageMagick das mit den 16bit... Und dann sind da so Leute wie ich, die schlicht selber kompilieren muessen ;) [povray] Achso, povray ist ein Kandidat wo sich ein selber kompilieren generell lohnen kann. -dnh [1] finde mal aktuelle Pakete z.B. von mplayer o.ae. fuer ne SuSE 6.2 / glibc 2.1! ;-| [2] NAF -- Sahne! Ein neues Mittel Zur Agressionsbekämpfung. Man kann sie immer schön schlagen, und hinterher sogar aufessen. [Woko° in dag°]