GCC optimieren

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
Hackmeck
Beiträge: 1397
Registriert: 22.10.2002 19:14:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

GCC optimieren

Beitrag von Hackmeck » 15.09.2004 07:09:05

Gibt es unter Debian die Möglichkeit gcc bei jedem Aufruf ohne Angabe weiter Parameter für eine bestimmte Prozessorplattform zu optimieren?

Wenn ja, wo geht das und welche Optionen sind bei einem Pentium-III-System sinnvoll?

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 15.09.2004 07:35:18

ja gibt es über Variablen.. leider weiß ich grad nicht wie die alle heißen (CCFLAGS usw.)

auch wenn ich mir heiße Ohren holen könnte.. schau mal bei der Installationsanleitung von "Gentoo" nach.. da werden die gebraucht und da weißt du wo du was setzten musst/kannst!!

Da dürftest du auch wissen welche Prozessoren welche Flags abhaben können..

hier die Seite von Gentoot:

http://www.gentoo.org/doc/de/handbook/h ... #doc_chap5
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 15.09.2004 15:18:47

Die Variablen heissen "CFLAGS" für gcc und "CXXFLAGS" speziell für g++. Wenn Du die irgendwo so setzt, dass die global im Environment stehen, sollten die eigentlich überall genutzt werden, aber beachte, dass manche Pakete diese Variablen (meistens aus mehr oder weniger wichtigen Gründen) überschreiben bzw. ignorieren (Kernel z.B.).

Du solltest es auch nicht mit den Optionen übertreiben... -march und -mcpu sind meistens noch OK, in den meisten Fällen ist -03 auch noch OK, aber vieles, was darüber hinausgeht ist der Stabilität eher abträglich (vom konservativen Standpunkt aus gesehen, der besagt: Wenn's mit den normalen Optionen läuft, warum was ändern...?).

Der Performancezuwachs liegt eher im Placebo Bereich: Man glaubt es wäre schneller, aber der Zuwachs beträgt nur 2-3%, was definitiv nicht spürbar ist...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
Hackmeck
Beiträge: 1397
Registriert: 22.10.2002 19:14:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Hackmeck » 15.09.2004 17:00:08

Danke schon mal für die Antworten!

Unter http://www.gentoo.org/doc/de/handbook/h ... #doc_chap5 steht, daß bei Gentoo diese Dinge in /etc/make.conf geschrieben werden, wenn man sie dauerhaft global einrichten möchte. Diese Datei gibt es unter Debian allerdings nicht.

Wie kann ich diese Optimierungen in /etc/environment eintragen?

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 15.09.2004 17:04:19

Hackmeck hat geschrieben:Wie kann ich diese Optimierungen in /etc/environment eintragen?
Ganz einfach:

Code: Alles auswählen

CCFLAGS="..."
CXXFLAGS="..."
Für's Protokoll: nicht GCC beachtet die Variablen, sondern make.

Benutzeravatar
Hackmeck
Beiträge: 1397
Registriert: 22.10.2002 19:14:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Hackmeck » 15.09.2004 17:05:29

Also ich glaube so richtig verstanden habe ich es noch nicht. Geht es so in /etc/environment?

Code: Alles auswählen

CHOST="-i686-pc-linux-gnu"
CCFLAGS="-march=pentium3 -O3"
CXXFLAGS="-march=pentium3 -O3"

Benutzeravatar
tig
Beiträge: 113
Registriert: 09.03.2004 18:52:52

Beitrag von tig » 15.09.2004 19:10:36

Code: Alles auswählen

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O3"
CXXFLAGS="-march=pentium3 -O3"
so =)

Benutzeravatar
Hackmeck
Beiträge: 1397
Registriert: 22.10.2002 19:14:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Hackmeck » 15.09.2004 19:38:29

tig hat geschrieben:

Code: Alles auswählen

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O3"
CXXFLAGS="-march=pentium3 -O3"
so =)
Ah, Danke!

Antworten