Welchen Vorteil habe ich, wenn ich 64-Bit-Bibliotheken verwende?

2

Ich sehe viele Leute verrückt nach 64-Bit-Bibliotheken,

und sie generell den 32-Bit-Gegenstücken vorziehen.

Ich stelle fest, dass viel geredet wird, was bei der Übersetzung verloren geht, und dass das 64-Bit oft überbewertet werden kann.


Die Einstellung sind Bibliotheken, die für eine Webanwendung aufgerufen werden. Es ist mir bekannt, dass für jeden Treffer eine neue Instanz der Webanwendung generiert wird. Daher denke ich, dass 64-Bit nicht notwendig ist, da die Instanzen 2 GB RAM-Speicher in keiner Weise übersteigen.


Hilfe wäre sehr dankbar! :)

RadiantHex
quelle

Antworten:

4

Sie haben Recht - im Allgemeinen müssen Sie sich nicht um 64-Bit-Bibliotheken oder ausführbare Dateien kümmern, es sei denn, Sie benötigen (a) einen großen Adressraum (z. B. & gt; 2 GB) oder (b) Sie haben eine leistungskritische Anwendung (Bei x86-64 sind doppelt so viele Register wie bei x86 verfügbar, und Code wird normalerweise um 30% schneller ausgeführt).

Paul R
quelle
Höchstens 30%.
Hello71
@ Hallo71: das hängt am meisten von der anwendung ab und kann unter Umständen nicht 30% betragen
phuclv
0

x86_64 hat standardmäßig eine doppelte Registernummer, SSE2 / NX und viele andere neuere Funktionen, die die Leistung und Zuverlässigkeit verbessern können.

Was sind die Leistungsmerkmale von 64-Bit- gegenüber 32-Bit-VMs?

Im Allgemeinen sind die Vorteile der Adressierung größerer Speichermengen mit einem geringen Leistungsverlust bei 64-Bit-VMs verbunden, wenn dieselbe Anwendung auf einer 32-Bit-VM ausgeführt wird. Dies ist auf die Tatsache zurückzuführen, dass jeder native Zeiger im System 8 Bytes anstelle von 4 beansprucht. Das Laden dieser zusätzlichen Daten hat Auswirkungen auf die Speichernutzung, was zu einer etwas langsameren Ausführung führt Ihr Java-Programm. Die gute Nachricht ist, dass bei AMD64- und EM64T-Plattformen, die im 64-Bit-Modus ausgeführt werden, die Java-VM einige zusätzliche Register erhält, mit denen sie effizientere native Befehlssequenzen erzeugen kann. Diese zusätzlichen Register erhöhen die Leistung auf einen Punkt, an dem beim Vergleich von 32- zu 64-Bit-Ausführungsgeschwindigkeit häufig überhaupt kein Leistungsverlust auftritt.
Der Leistungsunterschied beim Vergleich einer Anwendung, die auf einer 64-Bit-Plattform ausgeführt wird, mit einer 32-Bit-Plattform auf SPARC liegt in der Größenordnung von 10-20%, wenn Sie zu einer 64-Bit-VM wechseln. Auf AMD64- und EM64T-Plattformen reicht dieser Unterschied von 0-15%. abhängig von der Menge des Zeigers, auf den Ihre Anwendung zugreift.

Hier können Sie viele Benchmarks sehen: Ubuntu 32-Bit, 32-Bit PAE und 64-Bit-Kernel-Benchmarks . Im Allgemeinen wäre die Leistungssteigerung etwa 0-15%, die Ergebnisse können jedoch stark variieren, insbesondere. bei einigen Apps, die Register / Berechnung (va 64-Bit-Mathematik) ausgiebig verwenden

apace performance

phuclv
quelle