Re: Compileroptimierungen

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Wed, 30 Jan 2008 11:40:34 +0100 (CET)

nighthawk wrote:
> Ich kam auf diese ganze Fragestellung überhaupt, weil ich beim
> Kompilieren der Ports bemerkt habe, daß überhaupt kein mtune oder
> march angegeben war. Das Nichtangeben von march und mtune in den
> C..FLAGS hat den Vorteil, daß auch Ports, die sich nicht an die Werte
> in CC, CPP und CXX halten, aber die entsprechenden C..FLAGS sehrwohl
> beachten, nicht mit einem Kompilierungsfehler abbrechen, daß die
> Architektur "core2" ungültig wäre. Wenn das allerdings nun darin
> resultiert, daß dann keine Optimierungen stattfinden, pflege ich
> lieber eine Liste mit Ausnahmen - so viele sind das nicht.

Wenn Du einen (unterstützten) CPUTYPE=xxx in /etc/make.conf
angibst, wird die entsprechenden -march Option (was -mtune
impliziert) in den CFLAGS gesetzt, und zwar sowohl für das
buildworld als auch für alle Ports.

In der Regel sollten alle Ports die CFLAGS beachten. Wenn
nicht, ist das entweder ein Bug (der dem betreffenden Port-
Maintainer mitgeteilt werden sollte), oder es hat einen
guten Grund. Einige Ports (insbesondere aus dem Bereich
Multimedia, z.B. mplayer) haben eigene config-Optionen, um
spezielle Prozessoroptimierungen auszuwählen.

Übrigens kennt FreeBSD bei CPUTYPE=xxx einige Dinge, die
der gcc nicht kennt, und die automatisch umgesetzt werden.
Wenn man z.B. CPUTYPE=k7 schreibt (was gcc nicht kennt),
macht er daraus -march=athlon.

Ich habe gerade nachgeschaut: Ab FreeBSD 6 wird die Angabe
CPUTYPE=core2 erkannt, was in -march=prescott umgesetzt
wird. Wie gut der Code optimiert wird, hängt letztendlich
natürlich auch von der gcc-version ab (bei FreeBSD 6 ist
das noch 3.4.x, ab FreeBSD 7 ist es 4.2.x).

Gruß
   Olli

-- 
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
"We, the unwilling, led by the unknowing,
are doing the impossible for the ungrateful.
We have done so much, for so long, with so little,
we are now qualified to do anything with nothing."
        -- Mother Teresa
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 30 Jan 2008 - 11:40:36 CET

search this site