Ich mache Performance-Tuning für unseren Tomcat-Cluster, der auf SPARC-Hardware läuft. Die 32-Bit-JVM gibt uns genügend Speicher, aber wir werden Terracotta für Server-Striping verwenden, so dass der zusätzliche Speicher, den die 64-Bit-JVM bietet, bald benötigt werden könnte.64-Bit- und 32-Bit-Performance auf SPARC-Hardware mit dem 1.6 JVM
Zusätzlich zu einem größeren Speicherbedarf führt der Wechsel zur 64-Bit-JVM auf SPARC zu einer Leistungseinbuße. Diese FAQ zeigt eine 10% - 20% Performance-Einbußen für die Version 1.4 des 64-Bit-JVM auf SPARC:
http://java.sun.com/docs/hotspot/HotSpotFAQ.html#64bit_performance
ich eine 10% unter interessiert mich nicht - 20% Performance-Einbußen, wenn ich kann vermeide es. Es gab Diskussion der Verwendung eines 32-Bit/64-Bit-Hybrid-Ansatz, um dieses Problem zu vermeiden, so vielleicht die 1.6 JVM die Leistung nicht getroffen hat, dass die 1.4 JVM hatte:
http://blog.juma.me.uk/2008/10/14/32-bit-or-64-bit-jvm-how-about-a-hybrid/
Hat jemand aktuelle Leistungsmetriken für den Wechsel von der 32-Bit-JVM zur 64-Bit-JVM mit Version 1.6 auf SPARC?
Danke.
Dean
Nur aus Neugier - hast du es versucht? Hast du irgendwelche Metriken bekommen? –
Nicht in den Antworten erwähnt ist die "komprimierte oops" -Option - 64-Bit-Code, 32-Bit-Zeiger. Da Objekte an 16-Byte-Grenzen ausgerichtet sind (andere Rundungen sind möglich), kann der Zeiger verschoben werden, um einen möglichen 64-GB-Java-Heap zu ergeben, ohne die Referenzgröße zu erhöhen. –