Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Gentoo GCC-Compiler Einstellungen

Tipp Entwicklung

Mitglied: Frank

Frank (Level 5) - Jetzt verbinden

28.08.2009, aktualisiert 24.10.2009, 9608 Aufrufe, 2 Danke

Für alle Gentoo-User die das Maximum an Performance aus Ihrem System holen wollen. Mehr geht nicht.

Hallo Gentoo User,

seit der GCC-Compiler Version 4.2.x gibt es die neue "-march=native" Optimierung für die CFLAGS. Einfach in der /etc/make.conf die Variable CFLAGS="-O2 -pipe" erweitern. Beispiel:
01.
Datei: /etc/make.conf 
02.
CFLAGS="-march=native -O2 -pipe" 
03.
CXXFLAGS="${CFLAGS}"
Bisher konnte man mit "-march" festlegen, welche Optimierung im GCC für die CPU aktiviert werden (MMX, SSE and SSE2 Instruction-Set etc.). Beispiele:
01.
CFLAGS="-march=i686 -O2 -pipe" für normale i686 CPU (z.B. Pentium etc. auch "generic" genannt) 
02.
CFLAGS="-march=nocona -O2 -pipe" für die neuen Xeons mit 64 Bit 
03.
CFLAGS="-march=opteron -O2 -pipe" für den Opteron
Anders jetzt mit "-march=native". Diese Einstellung ermittelt automatisch den Prozessortyp und seine "Instruction-Set". Damit lässt sich ein optimales Ergebnis beim Kompilieren erzielen. Der einzige Nachteil, der für mich keiner ist, die so kompilierten Programme laufen auch wirklich nur auf dem eigenen Rechner.

Das sagt das GCC-Handbuch dazu:
"-march=native" This selects the CPU to tune for at compilation time by determining the processor type of the compiling machine. Using -mtune=native will produce code optimized for the local machine under the constraints > of the selected instruction set. Using -march=native will enable all instruction subsets supported by the local machine (hence the result might not run on different machines).

Hier ein paar Fragen und Antworten zu GCC und Gentoo:

Welche GCC-Version benutzt mein Gentoo-System gerade?
01.
gcc -v 
02.
oder 
03.
gcc-config  -l (das mit dem Stern dahinter ist der aktuelle GCC-Compiler)
Wie aktualisiere ich eigentlich den GCC unter Gentoo?
01.
emerge --sync  
02.
emerge -av gcc
Ich habe den neuen GCC mit "emerge -av gcc" erfolgreich kompiliert, aber "gcc -v" zeigt mir immer noch die alte Version an?
01.
Bei Gentoo musst Du das GCC-Profil bzw. Version selbst auswählen. Automatisch wird nicht auf die neue GCC-Version umgeschaltet! 
02.
Einfach "gcc-config  -l" aufrufen und es erscheint nun die Liste der verfügbaren GCC-Versionen auf Deinem System (das sind meine Versionen): 
03.
 [1] x86_64-pc-linux-gnu-4.1.2 
04.
 [2] x86_64-pc-linux-gnu-4.3.2 * 
05.
 
06.
Jetzt kannst Du mit "gcc-config  1" oder "gcc-config  2" die GCC-Versionen wechseln. 
07.
Danach noch ein "source /etc/profile" ausführen und zur Kontrolle "gcc -v".
Wer danach sein ganzes System neu kompilieren will, kann das mit "emerge -e system" machen. Aber Achtung, der Vorgang dauert sehr, sehr lange (hängt von der Leistung Deiner CPU ab).

Hier noch die wichtigsten Links zum Thema:

Gentoo GCC-Aktualisierungsanleitung
GCC-Handbuch Seite zum Thema "-mtune=cpu-type"
GCC 4 (GNU Compiler Collection) CFLAGS für x86 und x86-64 CPU

Viel Spaß beim Kompilieren

Gruß
Frank
Ähnliche Inhalte
Windows Server
NPS RAS Einstellungen exportieren

Frage von michael1309 zum Thema Windows Server ...

Windows 10
Einstellungen und Desktopsymbole weg (2)

Frage von andi74151 zum Thema Windows 10 ...

Hardware
SG200 26P QOS Einstellungen (1)

Frage von thomasreischer zum Thema Hardware ...

Windows Netzwerk
Windows Einstellungen in WIN10 sperren

Frage von Sepi zum Thema Windows Netzwerk ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (17)

Frage von Zockervogel zum Thema Router & Routing ...

Windows Server
gelöst Netzlaufwerk RemoteApp auf Win 2012 R2 Terminalserver funktioniert nicht (12)

Frage von grenzde zum Thema Windows Server ...

Windows 7
Windows Client Anmeldung bei zwei identischen Domänen (11)

Frage von creeko zum Thema Windows 7 ...

Java
Mit welchem Browser ist noch Java möglich? (8)

Frage von maddoc zum Thema Java ...