64-bit-optimierte JVMs?

Status
Nicht offen für weitere Antworten.

lacarpe

Mitglied
Ich habe schon einige Zeit gesucht, aber noch keine befriedigende Info gefunden.

Ich betreibe ein rechenintensives Javaprogramm auf einem 32-Bit-Linux-System. Da läuft dann natürlich auch eine JVM in einer 32-Bit-Version (Sun Java). Würde es sich lohnen ein zusätzliches 64-Bit-Linux-System zu installieren und macht sich eine auf 64 Bit optimierte JVM in der Performance bemerkbar? Hat damit jemand Erfahrungen gemacht?

Viele Grüße,
lacarpe
 

quippy

Bekanntes Mitglied
Mit Java selbst habe ich keine Erfahrungen gemacht, aber in der aktuellen c't (oder der vorletzten) wurden 64-Bit-Betriebsysteme (vor allem natürlich Vista) gegen die 32-Bit Versionen getestet. Dort konnte gelegentlich auch ein Performance-Zuwachs gesehen werden.

Wenn Dein rechenintensives Programm viel mit Long rechnet, lohnt sich das sicher, denn dann ist das die Maschinenwortgröße - man muss also nicht aufspalten beim Rechnen.

Zur Erläuterung, damit klar wird, was ich meine:

Addition zweier 64Bit Zahlen auf einer 32er Maschine:
unteren 32 Bit beider Zahlen addieren
oberen 32 Bit beider Zahlen addieren und Carry aus vorherigen Addition berücksichtigen.

Addition zweier 64Bit Zahlen auf einer 64er Maschine:
addieren

Da ist schon klar, daß das weniger Aufwand ist und damit auch performanter.

Ansonsten ist ein 64-Bit Betriebsystem nicht unbedingt schneller, als ein 32-Bit Betriebsystem - warum auch?! Allein die Möglichkeit, einer Anwendung mehr Speicher als nur 4 GB zuweisen zu können, kann bei Caching helfen - sofern auch mehr als 4GB in der Maschine drinne stecken...


Also: keine Pauschalaussage möglich!
 

lacarpe

Mitglied
Ich rechne viel mit doubles (auch 64 bit lang) und werde es einfach mal testen und berichten. Danke für deine Antwort.
 

SnooP

Top Contributor
Auch dann macht das sicher Sinn... - wäre aber auch mal auf nen Benchmarking gespannt ;) ... aber es macht immer erst dann Sinn, wenn man im Ursprungssystem durchaus einige Sekunden auf Berechnungen warten muss... sonst ist Optimierung dann eher sinnfrei ;)
 
G

Gast

Gast
Man sollte aber nicht vergessen, das eine "effektive"- Programmierung auch performance bringen kann.

Man muß nur an die verschiedenen Sortieralgorhythmen denken.
 

lacarpe

Mitglied
Bei einem Durchlauf rechnet mein Programm 6 bis 12 Stunden. Da lohnt sich Optimierung natürlich - sei es auf der Ebene der Programmierung als auch auf der Ebene der Systemgeschwindigkeit. Und klar, ich könnte mir auch einen schnelleren Rechner zulegen (derzeit "nur" AMD Sempron 3000+), aber auch mit neuem Rechner macht Optimierung Sinn.

Außerdem finde ich es spannend zu sehen, ob 64-bit auch hinsichtlich Rechengeschwindigkeit merkbare Unterschiede aufweisen kann. Denn für >4GB-Adressierung brauche ich 64-bit nicht, da ich keine 4GB habe.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben