PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Prozessoroptimiert kompiliern



TuXic
14.02.04, 17:40
Ich habe mal eine Frage... wie kann ich richtig Prozessoroptimiert kompiliern?

Zur Zeit mach ich alles per "Hand":
Alle Makefiles aufmachen und -02 mit -O3 ersetzen.
Wie kann ich nochmehr rausholen bzw. schneller machen (ersetzen)?

BBlack
14.02.04, 17:55
setz doch einfach folgende Variablen :

CFLAGS="-O3 -march=i686"
CXXFLAGS=$CFLAGS

Bis auf einige Ausnahmen ist mein ganzes System so kompiliert und läuft wunderbar.

TuXic
14.02.04, 18:11
Und wie setze ich die Variablen?:rolleyes:

BBlack
14.02.04, 18:22
Also ich habs in der /etc/profile gesetzt. Dann wirds bei einloggen automatisch gesetzt. Oder du setzt es halt immer wenn dus brauchst von Hand!

TuXic
14.02.04, 23:24
Wunderbar es geht super!

Araberboy
14.02.04, 23:54
Wie ist denn eigentlich die beste und (komplette) CFlag Option für AMD Athlon XP Barton?

Aproxx
15.02.04, 07:37
Zwar nicht für AMD aber fürn P4 hab ich:


-march=pentium4 -Os -pipe -fPIC -fmove-all-movables -fforce-mem -fforce-addr -freorder-blocks -frename-registers -finline-functions -mfpmath=sse -finline-limit=662 -fomit-frame-pointer -momit-leaf-frame-pointer -mmmx -msse


Schreibst halt statt pentium4 athlon-xp hin. Und nimmst -mmmx und -msse weg (weis nicht ob der das kann)

TuXic
15.02.04, 10:09
Und nimmst -mmmx und -msse weg (weis nicht ob der das kann)

Jeder Prozessor ab Pentuim (1) mit MMX kann MMX und SSE kann ab Pentium 3 auch jeder (keine Garantie dafür).
Also auf jeden Fall drinnenlassen!!!
"-march=pentium4" ersetzt du mit "-march=athlon-xp"

x86-64
15.02.04, 10:31
so mal eine frage ich hab 64 bit suse linux 9.0 und will ein prigramm in 32 bit compilieren welchen befehl muss ich da vorher in die console eingeben.
Cpu ist ein athlon 64.

Aproxx
15.02.04, 11:06
Ich war mir nicht sicher, ob ein AMD auch mmx und sse hat.

cytrox
15.02.04, 15:27
-mmmx und -msse könnt ihr bei bei gcc 3.* weglassen ;)

Bei gcc 3.3 werden sie schon automatisch durch -march=pentium4 bzw. -march=athlon-xp gesetzt,
und bei gcc 3.2 sind sie nutzlos (werden immer durch -mno-mmx und -mno-sse neutralisiert, wenn sie gesetzt sind.)

Araberboy
15.02.04, 15:59
Ein Athlon Thunderbird beherscht MMX
Ein Athlon XP behershcht MMX und SSE
EIn Athon 64 beherscht MMX und SSE2

Habe ne gute Seite für Compileroptionen gefunden (auch 64 Bit):
http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/i386-and-x86-64-Options.html#i386%20and%20x86-64%20Options

Gestern ist der GCC 3.3.3 erschienen. Hab aber keine Info über Änderungen.

Aproxx
15.02.04, 19:19
Gut zu wissen, da ich noch nie einen AMD hatte. Aber bald hab ich einen DualOpteron im Borg Kubus bei mir *sabber*.

der kleine nap
15.02.04, 19:19
ich bin da ned so bewandert wie ihr
sagt mir bitte mal was ich bei meinem athlon 64 3000+ alles für option(en) angeben muss um ideal zu kompilieren und wie ich welche umgebungsvariablen setzen muss


danke
mfg der kleine nap

TuXic
15.02.04, 20:00
Ein Athon 64 beherscht MMX und SSE2
Also der ist auch abwärtskompatibel ;)

@ 64Bit-User: Also wenn man einen 64 Bitter hat sollte man auch 64Bittig kompiliern :D

-m32 für 32Bit
-m64 für 64Bit


Aber bald hab ich einen DualOpteron im Borg Kubus bei mir *sabber*.
Angeber, andere haben noch nen 1800er XP :(
--- ### ---
G5 RuLeZ! :D


So.... ich habe mich grad durch das Manual refressen....

Bei mcpu stand die Auswahl zwischen den Prozzies: -mcpu=athlon-xp
Bei march stand "-m386", "-m486", "-mpentium" und "-mpentiumpro" was ist hier das beste?

Araberboy
15.02.04, 21:21
hab mal irgendwo gelesen das beides dasselbe sein soll.