Re: 64 Bit auf WebServer

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 24 Jan 2006 15:29:21 +0100 (CET)

Uwe Laverenz <uwe(at)laverenz.de> wrote:
> Oliver Fromme wrote:
>
> > Mir ist kein Anwendungsfall bekannt, wo ein (aktuelles!)
> > FreeBSD/amd64 auf derselben Hardware langsamer wäre als
> > ein FreeBSD/i386.
>
> Vielleicht ist es mal wieder Zeit für einen neuen Test, aber zumindest
> bis vor ein paar Monaten war genau das die Regel, nicht die Ausnahme.

Das kann ich eigentlich nicht bestätigen.

> Ich würde das gerne mal mit einem aktuellen RELENG_6 ausprobieren, da
> ich gerade einen HP DL-385 mit 2 Opterons und 4GB "rumliegen" habe. Hast
> Du evtl. einen Vorschlag, wie man das möglichst aussagefähig testen kann?

Naja, man muß es halt mit einem praxisorientierten Bench-
mark testen, der ansonsten unter identischen Bedingungen
läuft. Insbesondere ist »make world« _kein_ geeigneter
Benchmark, weil es unter i386 und amd64 unterschiedliche
Dinge tut.

> Auf der amd64-ML gab es ein paar Erklärungsversuche, warum amd64
> langsamer ist/war als i386:
>
> - 64bit-Code verbrät u.U. doppelt so viel CPU-Cache und doppelt so viele
> Speicherzugriffe für die gleiche Aufgabe wie 32bit-Code.

Das ist aber nur ein sehr theoretischer worst-case, der in
der Praxis nicht auftritt. Durchschnittlicher amd64-Code
is bei weitem nicht soppelt so groß wie i386-Code. Normale
»int«- und »long«-Variablen sind auch unter amd64 32 Bits
groß.

> - Der gcc erzeugt für i386 bessere Ergebnisse, weil er im Laufe der
> Jahre für diese Plattform besser optimiert wurde. Das galt zumindest
> noch für FreeBSD 5.x.

Der gcc unterstützt bereits seit mehr als 2 Jahren amd64,
und die Entwickler haben sich auf die Optimierungen dort
konzentriert. Sie konnten dabei auch von bereits existie-
rendem Optimierungscode von anderen Targets profitieren,
die ebenfalls über eine größere Anzahl Register als i386
verfügen. Es ist ja nicht so, daß für amd64 große Teile
des gcc neu geschrieben werden mußten.

> > (vmware, wine) und Binary-only Software, die nicht unter
> > der Emulation läuft. Die von Dir erwähnten (Apache, MySQL,
> > PHP) sind kein Problem.
>
> Das native jdk14 läuft ebenfalls nicht, falls das relevant ist.

Das Linux-jdk14 von Sun läuft, und damit kann man ein
native jdk15 bootstrappen. Geht unter RELENG_6 ohne
Probleme.

Gruß
   Olli

-- 
Oliver Fromme,  secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
Passwords are like underwear.  You don't share them,
you don't hang them on your monitor or under your keyboard,
you don't email them, or put them on a web site,
and you must change them very often.
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 24 Jan 2006 - 15:31:51 CET

search this site