Re: 64 Bit auf WebServer

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 24 Jan 2006 17:46:43 +0100 (CET)

Bernd Walter wrote:
> Oliver Fromme wrote:
> > 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ß.
>
> long ist 64 bit.

Interessant, das wußte ich nicht. D.h. auf amd64 ist ein
off_t ein long, während es auf i386 ein long long ist?

Wie dem auch sei, einer der entscheidenden Punkte dürfte
auch sein, daß unter amd64 Pointer (natürlich) 64 Bits
lang sind. Datenstrukturen, die (neben longs) viele
Pointer verwenden (z.B. verkettete Listen), blähen sich
entsprechend auf.

Aber insgesamt von einer Verdopplung würde ich keinesfalls
ausgehen, da sich die Größe aller anderen Datentypen nicht
ändert.

Ich habe interessehalber mal die Größen der Binaries eines
Tools (par(1)) der unterschiedlichen Prozessor-Plattformen
verglichen (alles 6-stable, aus denselben Sourcen gebaut).
Nach Größe sortiert:

22280 i386/bin/par
25304 amd64/bin/par
28104 sparc64/bin/par
46448 ia64/bin/par

Das läßt natürlich nur Rückschlüsse über die Größe von Code
und im Binary enthaltenen Konstanten zu, nicht über den
Speicherbedarf zur Laufzeit, aber es ist immerhin schonmal
ein Anhaltspunkt. Daß das i386-Binary das kleinste ist,
überrascht nicht weiter, aber das amd64-Binary ist nicht
viel größer (13,6%).

Ein Extrembeispiel ist emacs. Das Binary besteht zu einem
beträchtlichen Teil aus compiliertem Lisp-Code, d.h. die
oben erwähnten verketteten Strukturen. Das schlägt immer-
hin mit 65,9% Größenzuwachs (i386 --> amd64) zu Buche:

 4718644 i386/bin/emacs
 7783000 sparc64/bin/emacs
 7828120 amd64/bin/emacs
12960600 ia64/bin/emacs

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.
"With sufficient thrust, pigs fly just fine.  However, this
is not necessarily a good idea.  It is hard to be sure where
they are going to land, and it could be dangerous sitting
under them as they fly overhead." -- RFC 1925
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 - 17:48:26 CET

search this site