Re: 64 Bit auf WebServer

From: Bernd Walter <ticso(at)cicely12.cicely.de>
Date: Tue, 24 Jan 2006 19:07:20 +0100

On Tue, Jan 24, 2006 at 05:46:43PM +0100, Oliver Fromme wrote:
> 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?

Eigendlich alle 64 bit *nixe sind LP64.
In jedem Fall ist off_t unter FreeBSD Platformunabhängig ein __int64_t,
das dürfte auf 64 bit FreeBSD ein long sein, auf alpha ist es das
zumindest, aber long long ist ebenfalls 64 bit, von daher gibt es auch
64 bit Typen, die immer long long sind.

> 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.

Ja, wobei auch meist übersehen wird, dass gerade die 64 bit Pointer
der eigendliche Vorteil von 64 bit Maschinen sind.
Wie viele und wie große Register es gibt ist durch Compiler
transparent, aber wenn der Addressraum nicht mehr reicht ist selbst
in Hochsprachen Trickserei angesagt, um das zu umgehen.
Und das hat nichts mit der Menge an installiertem RAM zu tun.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd(at)bwct.de                                  info(at)bwct.de
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 - 19:08:47 CET

search this site