Welches sind die optimalen CXXFLAGS Compilerflages für einen Core2Duo?
-
Unter folgendem OS und mit folgendem Compiler:
Ubuntu 9.04 64 Bit
gcc Version = 4.3.3Gibt es zu den Compilerflags irgendeinen ausführlichen Artikel?
-
http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Invoking-GCC.html#Invoking-GCC
Was willst du denn genau?
Als Standardflags nehme ich für C++ immer
-pipe -Wall -Wextra -pedantic-errors -std=c++0x
und
-pipe -Wall -Wextra -pedantic-errors -std=c99
für CWenn du optimierte binaries willst, dann nimm
-O3 -msse3 -march=core2
und wenn du Debuginfos willst, dann nimm
-g3
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
rüdiger schrieb:
Was willst du denn genau?
Das maximale aus der CPU holen mit gegebenem C++ Code.
pedantic, wall und Co brauch ich nicht, da ich den Code ja nicht umprogrammieren will.
Wenn du optimierte binaries willst, dann nimm
-O3 -msse3 -march=core2
Sind das alle Optionen für einen Core2Duo?
Was ist mit SSE4 usw.?
-
Dann noch ne Frage:
Gibts auch sowas wie ein
-march=core2duoFür den Pentium 4 gibt es ja:
-march=pentium4
-
Hab gerade gesehen es gibt den Paramenter core2 für -march und mtune.
Aber wo genau liegen die Unterschiede zwischen -march und -mtune?
Aus dem englischen Text werde ich nicht ganz schlau.
http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options
-
Compilerfrage schrieb:
Hab gerade gesehen es gibt den Paramenter core2 für -march und mtune.
Aber wo genau liegen die Unterschiede zwischen -march und -mtune?
Aus dem englischen Text werde ich nicht ganz schlau.
http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Optionsmarch gibt Maschinencode fuer die betreffende Archiktur aus, mtune optimiert auf die Architektur, der Code bleibt aber auch fuer andere Architekturen ausfuehrbar. In der Regel wird march schneller sein.
-
Ah Danke, das beantwortet meine Frage.
Dann werde ich march nehmen.
-
@Blue-Tiger
-march
enthält bereits-mtune
@Compilerfrage
für sse4 gibt es-msse4
(bzw.-msse4.1
und-msse4.2
)