2008-07-15

The Java performance upgrades

Suns JVM (not to mention other JVM vendors) gains more and more in performance benchmarks. According to SPECjbb2005 benchmark data presented at Java One 2008, Java 6 get more than 100% speed prior to Java 5 at x64 platform. Such big gains were possible due to fact that applications and JVM were not so optimized to work at 64 bits. Many tests show that applications on x64 undeperformed to that on 32 bit platform.

For 32 bits JVM get smaller but still significant improvements. I felt that on my skin when switched from JVM 5.0 to newest JVM 6.0. Interactive applications work snappier now.

The direction of Java performance upgrades is in concurrency. To get good multi core processor utilization, new applications have to work in multi threaded way. If programmers won't write applications in the "new way", then maybe JVM and OS could better use multi-core as "back end". There is idea of implementing transparent internal concurrency for basic algorithms and data structures like collections or maps from Java libraries.

Latest JVM can raise desktop applications performance by two digits, but there is a lot of custom work for scalable server applications. Scalability still heavily depends on utilization of resources, memory in particular. It's still open field and solutions depend on application.

No comments: