Ich habe neulich kde mit Hilfe von kontruct selber gebaut. Als Unterbau dient ein wunderbar stabiles Debian-Sarge. Als ich kde-3.2.2 installierte, habe ich als Compiler-Option die Optimierung CFLAGS=-O3 angegeben, in der Hoffnung, dass gcc-3.3 optimiert.
Das funktionierte auch tadellos, sowohl bei kde als auch allen Libs & Applikationen. Es gibt im laufenden Betrieb keine Probleme. Das System ist stabil.
Nun meine Frage - im Streben nach weiterer Performance und Optimierung: gibt es evtl. weitere Compiler-Flags zur Optimierung? Das manual sagt mir als 5/6-Laie nicht viel.
(CPU: Pentium 4, 3,06 Ghz)
Nero2004
KDE, konstruct und Compiler-Flags zur Optimierung
- vicbrother
- Beiträge: 1016
- Registriert: 23.12.2001 11:15:07
- Wohnort: Hamburg
Hallo,
ich habe das jetzt auchmal getan und folgende Flags verwendet:
-O3 -march=pentium4 -mcpu=pentium4 -pipe -fomit-frame-pointer -msse -mmmx -mfpmath=sse -funroll-loops
Ich werde mich jetztmal damit beschäftigen wie ich die neue KDE starte..
ich habe das jetzt auchmal getan und folgende Flags verwendet:
-O3 -march=pentium4 -mcpu=pentium4 -pipe -fomit-frame-pointer -msse -mmmx -mfpmath=sse -funroll-loops
Ich werde mich jetztmal damit beschäftigen wie ich die neue KDE starte..
Debian GNU/Linux "unstable" + KDE4 @ Dell Precision M6400
T9600 - 4GB RAM - 2x160GB RAID0 - nVIDIA Quadro FX 3700M - 17" WUXGA RGB LED - Webcam - Backlit Keyboard - UMTS - 9 Cell Battery -
T9600 - 4GB RAM - 2x160GB RAID0 - nVIDIA Quadro FX 3700M - 17" WUXGA RGB LED - Webcam - Backlit Keyboard - UMTS - 9 Cell Battery -
Hi vicbrother,
mille gracias für den Tip. Werde ich bei der nächsten Alpha-Version von KDE ausprobieren.
Zum Starten der neuen kompilierten KDE-Version bin ich so vorgegangen, dass ich KDE in /opt/<kde-3.2.99-alpha> installiert habe. Anschließend habe ich einen "link -s /opt/<kde-3.2.99-alpha1> /opt/kde" erzeugt.
Die neuen Umgebungsvariablen (im README von konstruct beschrieben) habe ich bei mir in der ~./profile eingetragen (als Pfad immer /opt/kde angeben).
Als letzte Maßnahme mußte ich die PATH-Variable um den Eintrag PATH=/opt/kde/bin:$PATH erweitern.
(Dunkel errinnere ich mich aber auch noch an irgend eine Anpassung in /etc/X11/startkde ...)
Bei neuen KDE-Versionen muß ich nur noch den Link in /opt anpassen. Auf diese Weise kann ich mehrere KDE's parallel vorhalten.
Nero2004
mille gracias für den Tip. Werde ich bei der nächsten Alpha-Version von KDE ausprobieren.
Zum Starten der neuen kompilierten KDE-Version bin ich so vorgegangen, dass ich KDE in /opt/<kde-3.2.99-alpha> installiert habe. Anschließend habe ich einen "link -s /opt/<kde-3.2.99-alpha1> /opt/kde" erzeugt.
Die neuen Umgebungsvariablen (im README von konstruct beschrieben) habe ich bei mir in der ~./profile eingetragen (als Pfad immer /opt/kde angeben).
Als letzte Maßnahme mußte ich die PATH-Variable um den Eintrag PATH=/opt/kde/bin:$PATH erweitern.
(Dunkel errinnere ich mich aber auch noch an irgend eine Anpassung in /etc/X11/startkde ...)
Bei neuen KDE-Versionen muß ich nur noch den Link in /opt anpassen. Auf diese Weise kann ich mehrere KDE's parallel vorhalten.
Nero2004
- vicbrother
- Beiträge: 1016
- Registriert: 23.12.2001 11:15:07
- Wohnort: Hamburg
@nero2004:
Ich werde deinen Tip mal ausprobieren, aber er setzt die Variablen ja immer. Ich würe nur gerne zwischen KDE-Debian und KDE-Konstruct gerne wechseln können...
Zu den Optimierungen fällt mir noch ein, dass man in den Makefiles unter CONFIGURE_ARGS noch --disable-debug (erzeugt keinen Bugreportcode), --enable-fast-malloc (schnellere Speicherverwaltung), --enable-final (kleinere Programme) und --enable-objprelink (OBjekt Prelinking) setzen kann : ) Jetzt brauche ich nur noch ein Skript, welches alle Makefiles findet und diese Zeile ergänzt ; )
Wenn ich mich richtig entsinne, konnte man bei anderen Distris auch MP3s durch ziehen von Songs von CD auf den Desktop erstellen, bei Debian war das aber früher nicht drin (wegen Lizenzproblemen) und musste auch per Configure-Anweisung eingestellt werden. Aber wie das geht das kriege ich noch raus ... : )
Übrigens: gcc-3.4 erzeugt nochmals bis zu 10% schnelleren Code und hat noch einen weiteren netten Optimierungsflag --funit-at-a-time
Ich werde deinen Tip mal ausprobieren, aber er setzt die Variablen ja immer. Ich würe nur gerne zwischen KDE-Debian und KDE-Konstruct gerne wechseln können...
Zu den Optimierungen fällt mir noch ein, dass man in den Makefiles unter CONFIGURE_ARGS noch --disable-debug (erzeugt keinen Bugreportcode), --enable-fast-malloc (schnellere Speicherverwaltung), --enable-final (kleinere Programme) und --enable-objprelink (OBjekt Prelinking) setzen kann : ) Jetzt brauche ich nur noch ein Skript, welches alle Makefiles findet und diese Zeile ergänzt ; )
Wenn ich mich richtig entsinne, konnte man bei anderen Distris auch MP3s durch ziehen von Songs von CD auf den Desktop erstellen, bei Debian war das aber früher nicht drin (wegen Lizenzproblemen) und musste auch per Configure-Anweisung eingestellt werden. Aber wie das geht das kriege ich noch raus ... : )
Übrigens: gcc-3.4 erzeugt nochmals bis zu 10% schnelleren Code und hat noch einen weiteren netten Optimierungsflag --funit-at-a-time
Debian GNU/Linux "unstable" + KDE4 @ Dell Precision M6400
T9600 - 4GB RAM - 2x160GB RAID0 - nVIDIA Quadro FX 3700M - 17" WUXGA RGB LED - Webcam - Backlit Keyboard - UMTS - 9 Cell Battery -
T9600 - 4GB RAM - 2x160GB RAID0 - nVIDIA Quadro FX 3700M - 17" WUXGA RGB LED - Webcam - Backlit Keyboard - UMTS - 9 Cell Battery -
Impliziert -msse nicht -mmmx? Du kannst auch noch -ffast-math machen, wenn dir 100% Rechensicherheit nicht so wichtig ist (Sachen wie sqrt(-2) sind nicht mehr garantiert, NaN oder ähnliche Fehlercodes zu produzieren, IIRC)vicbrother hat geschrieben:ich habe das jetzt auchmal getan und folgende Flags verwendet:
-O3 -march=pentium4 -mcpu=pentium4 -pipe -fomit-frame-pointer -msse -mmmx -mfpmath=sse -funroll-loops
Für die völlig durchgedrehten Optimizing-Junkies unter euch: kompiliert zusätzlich noch mit "-fprofile-arcs", führt mit allen KDE Programmen einen Teil eurer Täglichen Arbeit durch, und ersetzt dann "-fprofile-arcs" durch "-fbranch-probabilities". Diese doppelte Compilierungsweise bringt Steigerungen so um 0.5% bis 1%