Avatar von van Grunz
  • van Grunz

mehr als 1000 Beiträge seit 27.12.2007

Re: Ich ziehe eine Mischung vor

die kleine Himbeere schrieb am 12.01.2018 20:37:

Auf meinem Rechner läuft ein 64-Bit Kernel mit einem 32-Bit Userland.

Das ist effizienter, wenn man keine Applikationen benutzt die mehr als rund 2 GB Speicher innerhalb des Prozesses verwenden.

Da wäre auch bei 32 Bit schnell Schluß, weil 2x2 GB Speicher >= 4 GB bedeuten, die 32 Bit überhaupt addressieren kann.

Es gab einmal einen Vergleich zwischen 32- und 64-Bit Applikationen[,KOMMA] den ich irgendwo in einem Artikel über das damals neue x32-ABI von Linux las, und wo das Ergebnis war[,KOMMA] daß x32-Applikationen bis zu 20 % schneller als reine 64-Bit Applikationen waren.

Hier kommt es auf den Anwendungsfall an. Es gibt tatsächlich Anwendungen, die unter x32 schneller laufen als unter x64. Umgekehrt bedeutet das aber nicht, daß x32-Anwendungen in einem x64-System langsamer liefen.

Aber es zeigt, dass 64-Bit Code 32-Bit Code in einem fairen Vergleich (x32 hat gleich viele CPU Register wie amd64) unterlegen ist, soweit das entsprechende Programm mit 2-3 GB RAM (ja nach Kernel Konfiguration) auskommt.

Das halte ich für eine steile These.

Eigentlich[wie uneigentlich, sinnloseste Wort der Welt] ist es ja klar[,KOMMA] dass 64 Bit ineffizienter sein muss[,KOMMA] wo 32 Bit ebenso für eine Aufgabe ausreichen würden:

* Sowohl Pointer[-BINDESTRICH] als auch Speicherlängen-Angaben belegen unter 64 Bit doppelt so viel RAM

* Es müssen daher auch mehr Daten zwischen der CPU und dem Speicher hin- und her geschoben werden

Bei breiten Daten-Bussen kein Problem. Das erledigen die in einem Takt.

* Die CPU-Caches werden weniger effektiv genutzt, da längere Einträge weniger Einträge im Cache bedeuten[,KOMMA] welche dort Platz finden

Caches sind überaus effektiv, egal ob bei x32 oder x64.

* Die zusätzlichen 32 Bit bedeuten auch entsprechend breitete Datenbusse in der CPU, breitere Register, alles in allem mehr Transistoren. Dies wiederum bedeutet mehr Stromverbrauch für dieselbe Arbeit

Aber auch nur, wenn man für x32 doppelt so viel Aufwand benötigt wie für x64. Das darf bezweifelt werden.

Man sollte 64 Bit daher nicht mutwillig einsetzen[,KOMMA] wo es gar nicht gebraucht wird, sondern nur dort[,KOMMA] wo es auch echte Vorteile bringt.

Durchaus. Deswegen gibt es 64 Bit überhaupt. Es bringt Vorteile.

Das wären vor allem moderne 3D-Spiele oder grafikintensive Anwendungen die viel Speicher verbrauchen.

Nicht nur. 64-Bit-Anwendungen profitieren natürlich in erster Linie von mehr Speicher. Aber auch das heißt: > 4 GB.

Zumal es auch nicht stimmt, wie einige Leute glauben, dass ein 32-Bit-System nur "bis zu 4 GB Speicher" verwenden kann.

Das betrifft nur Systeme, die mit BIOS-seitigem PAE arbeiten.

So bekommt man das beste zweier Welten, zumindest soweit man wie ich keine Programme verwendet die von echten 64 Bit in besonderer Weise profitieren würden.

Das ist schizophren, IHMO.

Bewerten
- +
Anzeige