Ich denke, ich konzentriere mich auf x86, aber ich bin allgemein an der Umstellung von 32 auf 64 Bit interessiert.
Logischerweise kann ich sehen, dass Konstanten und Zeiger in einigen Fällen größer sind, sodass Programme wahrscheinlich größer sind. Und der Wunsch, aus Effizienzgründen Speicher an Wortgrenzen zuzuweisen, würde mehr Leerraum zwischen den Zuweisungen bedeuten.
Ich habe auch gehört, dass der 32-Bit-Modus auf dem x86 seinen Cache beim Kontextwechsel aufgrund möglicher überlappender 4G-Adressräume leeren muss.
Was sind die wirklichen Vorteile von 64-Bit?
Und als ergänzende Frage, wäre 128 Bit noch besser?
Bearbeiten:
Ich habe gerade mein erstes 32/64-Bit-Programm geschrieben. Es erstellt verknüpfte Listen / Bäume aus 16-Byte- (32b-Version) oder 32-Byte- (64b-Version) Objekten und druckt viel auf stderr - kein wirklich nützliches Programm und nichts Typisches, aber es ist mein erstes.
Größe: 81128 (32b) v 83672 (64b) - also kein großer Unterschied
Geschwindigkeit: 17s (32b) v 24s (64b) - läuft unter 32-Bit-Betriebssystem (OS-X 10.5.8)
Aktualisieren:
Ich stelle fest, dass ein neues hybrides x32-ABI (Application Binary Interface) entwickelt wird, das 64b ist, aber 32b-Zeiger verwendet. Bei einigen Tests führt dies zu kleinerem Code und einer schnelleren Ausführung als 32b oder 64b.