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 messageReceived on Tue 24 Jan 2006 - 17:48:26 CET