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:
pgpbfAP4anOCr.pgp
Description: PGP signature