Es hängt von Ihrer Version von gcc, Ihrer Hardware, Ihrer Distribution und vielen anderen Dingen ab. Normalerweise hätte Ihr Linux-Distributionsanbieter diese Suche für Sie durchgeführt und diese Optionen beim Erstellen Ihres Pakets verwendet. Distributionen versuchen jedoch, die meisten Hardware- und Benutzererwartungen zum Laufen zu bringen. Ich finde die meisten Anpassungen, ohne mit Gentoo zu viel Ärger machen zu müssen . Linux von Grund auf oder das Rollen Ihrer eigenen Distribution ist eine Menge Arbeit. Ich habe eine Gentoo-Installation mit 32-Bit-Emulation im Kernel deaktiviert.
Im Gentoo Optimization Guide ist es am besten, -O2
statt zu verwenden-O3
-O3: Dies ist der höchstmögliche Optimierungsgrad und auch der riskanteste. Das Kompilieren Ihres Codes mit dieser Option dauert etwas länger und sollte mit gcc 4.x nicht systemweit verwendet werden. Das Verhalten von gcc hat sich seit Version 3.x erheblich verändert. In 3.x wurde gezeigt, dass -O3 zu geringfügig schnelleren Ausführungszeiten über -O2 führt, dies ist jedoch bei gcc 4.x nicht mehr der Fall. Wenn Sie alle Pakete mit -O3 kompilieren, werden größere Binärdateien benötigt, die mehr Speicher benötigen, und die Wahrscheinlichkeit eines Kompilierungsfehlers oder eines unerwarteten Programmverhaltens (einschließlich Fehlern) wird erheblich erhöht. Die Nachteile überwiegen die Vorteile; Erinnern Sie sich an das Prinzip der Verringerung der Erträge. Die Verwendung von -O3 wird für gcc 4.x nicht empfohlen.
-mtune=core2
ist in Ordnung, wenn Sie sicher sind, dass dies die beste Wahl für Ihren Prozessor ist. Ich persönlich mag es -march=native
stattdessen. Siehe Gentoo Safe CF-Markierungen
GCC 4.2 führt die neue Option -march ein, -march = native, die automatisch die von Ihrer CPU unterstützten Funktionen erkennt und die Optionen entsprechend einstellt. Wenn Sie eine Intel- oder AMD-CPU haben und> = sys-devel / gcc-4.2.3 verwenden, wird die Verwendung von -march = native empfohlen.
-m64
ist eine Prozessoroption und sollte durch -mtune=core2
oder automatisch gesetzt werden -march=native
. Siehe GCC-Optionen i386 und x86-64 .
Haftungsausschluss: Sie müssen nicht zu Gentoo wechseln, um deren Ratschläge für die Erstellung aus Quellen zu verwenden.