Re: Compileroptimierungen

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 29 Jan 2008 09:00:21 +0100 (CET)

Alexandre Fiveg wrote:
> nighthawk wrote:
> > Wenn man GCC keine march und keine mtune Parameter mitgibt, wird dann
> > überhaupt irgendeine Optimierung durchgeführt? Sprich, erkennt GCC den
> > Prozessor auf dem es läuft und optimiert sein Kompilat explizit für
> > dieses Modell oder wird per default auf Portabilität zu möglichst
> > vielen verschiedenen CPU Modellen einer Architektur optimiert?
>
> Beim Kompilieren (Portieren) des GCC für ein bestimmtes Architektur wird extra
> ein Parameter eingegeben, das dies Ziel-Architektur bezeichnet. Der erzeugte
> GCC wird dann "per default" nur für dieses Ziel-Architektur den Code
> erzeugen.

Das stimmt (in diesem Fall ist die Zielarchitektur vermut-
lich i386). Das war aber nicht Frage.

Die Frage von "nighthawk" war, ob gcc für den betreffenden
Prozessor optimiert, auf dem er läuft. Die Antwort ist
nein.

Wenn man für einen bestimmten Prozessor optimieren möchte,
sollte man eine Zeile "CPUTYPE=..." in /etc/make.conf
hinzufügen.

Auf meinem Notebook steht da z.B. "CPUTYPE=pentium4m" (ist
ein Centrino mit Pentium-IV-Mobile), und auf meinem VIA-
EPIA-Server "CPUTYPE=c3-2" (C3 mit Nehemiah-Core), und auf
einem Athlon64 "CPUTYPE=athlon64" (wohlgemerkt mit 32bit
i386 FreeBSD, nicht 64bit).

Ob das allerdings viel bringt, darüber wird gestritten.
In der Praxis dürfte man in den meisten Fällen nicht viel
davon merken. Ich lasse daher meistens den CPUTYP leer
(obiges sind die Ausnahmen), damit ich auch problemlos
Binaries von einem Rechner auf einen anderen kopieren kann.

Gruß
   Olli

PS: In -current wurde/wird die Möglichkeit implementiert,
dass man einfach "CPUTYPE=native" sagen kann, damit man
sich keinen Kopf machen muss, welche Bezeichnung man da
genau reinschreiben soll. Es soll ja Leute geben, die
nicht genau wissen, was sie für einen Prozessor haben.
Ich weiß leider nicht genau, wie weit das jetzt ist. In
6-stable geht es jedenfalls noch nicht.

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"The ITU has offered the IETF formal alignment with its
corresponding technology, Penguins, but that won't fly."
        -- RFC 2549
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 29 Jan 2008 - 09:00:26 CET

search this site