Re: 64 Bit auf WebServer

From: till toenges <tt(at)kyon.de>
Date: Tue, 24 Jan 2006 21:21:17 +0100

Bernd Walter wrote:
> 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.

Geht so. Klar sind 64 Bit Pointer superbequem für Programmierer, wenn
man es tatsächlich mit großen Datenmengen zu tun bekommt. In vielen
Fällen ist das aber gar nicht relevant.

Die zusätzlichen Register bringen da schon mehr. Die x86 Architektur
leidet nämlich ziemlich unter Registermangel, es gibt für "normale"
Daten gerade mal 8 Register. In x86-64 sind das immerhin schon 16 (hatte
mein Amiga damals auch schon...).

Dadurch können mehr Variablen in Registern abgelegt werden, und es wird
deutlich seltener auf den Level 1 Cache zugegriffen. Der ist zwar
schnell, aber trotzdem um ein vielfaches langsamer als Register.

Das bringt bei der typischen C-Programmierweise, wo jede kleine Funktion
in einzelnen Files compiliert und dann erst gelinkt wird, noch nicht so
viel. In anderen Sprachen, oder wenn der Compiler größere Funktionen
bzw. mehrere zusammen compiliert und Inlining verwendet, machen sich
zusätzliche Register sehr, sehr nützlich bemerkbar.

Die 64 Bit Breite der Register kann u.U. auch noch für einige Tricks
genutzt werden.

Till

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 - 21:22:30 CET

search this site