[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 32 oder 64 Bit



Moin!

On Thu, Jul 28, 2011 at 10:42:56PM +0200, Sven Hartge wrote:
> Marc Haber <mh+debian-user-german@zugschlus.de> wrote:
> > On Wed, 27 Jul 2011 15:09:12 +0200, Sven Hartge <sven@svenhartge.de>
> > wrote:
> >> Dann sage mir doch einmal, was du explizit durch 64bit gewinnst, was
> >> du mit 32bit nicht hast, dass man unbedingt 64bit einsetzen müssen,
> >> auf jeden Fall, immer.
> >>
> >> Wenn man jetzt einmal in Betracht zieht, dass unter 64bit die Pointer
> >> doppelt so breit sind, du die Strukturen im Speicher anders anlegen
> >> (alignen) musst und dadurch mehr RAM verbraucht wird.
> 
> > x86_64 hat mehr Register als ia32.
> 
> Ja. Heißt also, dass dadurch der Compiler Aufrufe von Funktionen besser
> optimieren kann, weil die Variablen nicht mehr über den Stack geschoben
> werden müssen.

An den Funktionsaufrufen kann der Compilier nichts optimieren. Wie die
aussehen, ist in der ABI fest vorgegeben. Er kann aber den Code selbst
vernünftig optimieren. Bei ia32 ist das nicht möglich. Da benutzt die
Multiplikation und Division z.B. das ax und das dx Register. Und in
der FPU sind die Register als Stack implementiert. Das sind alles
Dinge, die es einem Compiler sehr schwer machen zu optimieren. Bei
x86_64 ist das alles viel besser. Deshalb ist 64 Bit Code häufig
schneller als 32 Bit Code. Und das obwohl viele Datentypen doppelt so
groß geworden sind.

Erinnert sich noch wer an die Einführung von MMX? Da hat die c't
nachgemessen und festgestellt, daß der handoptimierte MMX-Code zwar
verdammt schnell war, normaler C-Code auf PowerPC aber genauso schnell
lief. Das lag einfach daran, daß ein Compiler für PowerPC (viele
general purpose Register) viel besser optimieren kann als für ia32.

> Außerdem kann ein Compiler bei 64bit das Vorhandensein von SSE2
> voraussetzen.

z.B.

> Die Frage ist halt, wie geschwindigkeitsrelevant ist dies, dass sich der
> Aufwand der Umstellung lohnt bzw. dies evtl. Kompatibilitäts-Probleme im
> Desktop-Bereich aufwiegt.

Bis auf den Flash-Albtraum lief bei mir seit Installation vom
64-Bit-Debian immer alles. Existierende System muß man sicher nicht
umstellen. Aber bei Neuinstallation spricht eigentlich nichts gegen 64
Bit, so man nicht sehr wenig Speicher hat oder auf Closed-Source
Software angewiesen ist, die eine 32-Bit-Umgebung erzwingt[0].


Daniel

[0] Die läuft zwar mit ia32-libs oder statisch gelinkt auch auf 64
	Bit, aber wenn der Hersteller dann den Support verweigert, nützt
    einen das auch nichts.

Attachment: pgpcsAsUxUBIR.pgp
Description: PGP signature


Reply to: