InfoQ

News

Sun Releases Java 6 Update 18 With Significant Performance Improvements and Windows 7 Support

Posted by Charles Humble on Jan 20, 2010

Community
Java
Topics
Performance & Scalability ,
Platforms
Tags
JavaFX ,
GarbageCollection ,
Windows7 ,
Java SE

Sun have released Java 6 update 18 with a strong emphasis on performance improvements, including a new version of Hotspot (16.0), start-up improvements and run-time improvements for UI applications. The release also includes support for Ubuntu 8.04, Red Hat Enterprise Linux 5.3 and Windows 7, along with an impressive 357 bug fixes.

Of particular interest to enterprise developers are the improvements to the garbage collectors that have been brought forward from Java 7. The Garbage First (G1) garbage collector (no longer tagged as experimental in OpenJDK 7) gains improved reliability and performance, and the Parallel Scavenger garbage collector gets the inclusion of Improved NUMA (Non Uniform Memory Access) Support. Most modern computers are based on NUMA architecture, in which it takes different amounts of time to access different parts of memory. In the Java HotSpot VM, the NUMA-aware allocator has been implemented to provide automatic memory placement optimisations for Java applications. Typically, every processor in the system has a local memory that provides low access latency and high bandwidth, and remote memory that is considerably slower to access. The NUMA-aware allocator is implemented for Solaris (>= 9u2) and Linux (kernel >= 2.6.19, glibc >= 2.6.1) operating systems, and can be turned on for the Parallel Scavenger garbage collector with the -XX:+UseNUMA flag. Parallel Scavenger remains the default for a server-class machine and can also be turned on explicitly by specifying the -XX:+UseParallelGC option. The impact of the change is significant: When evaluated against the SPEC JBB 2005 benchmark on an 8 chip Opteron machine, NUMA-aware systems gave about a 30% (for 32-bit) to 40% (for 64-bit) increase in performance.

Other Hotspot changes in update 18 include code generation improvements, such as the optimisation of common string concatenation patterns and the removal of needless conversions between integer primitive types, plus new options to request a heap dump or class histogram before or after a full garbage collection. Unfortunately escape analysis-based optimisation, which was enabled in update 14, has been disabled again in update 18 to be re-instated at some future date.

Sun's continued focus on the desktop and RIA markets sees a number of improvements to the performance of desktop applications and Web Start - amongst them:

  • More garbage collection improvements, including new default java heap configuration in client and server VMs.
  • Classloading optimisations for faster startup.
  • Application start-up changes include savings of around 100-200ms on systems where Direct 3D is used.
  • Revised support for pre-verification of FX runtime, which can speed up warm start of a JavaFX application by up to 15%.
  • Concurrent download of jars for Web Start applications and applets.
  • Java Web Start updated to implement JSR-056 version 6.0.18 and gets a number of key bug fixes (6888118, 6800992, 6863499)

Other changes in update 18 include:

  • A 20% reduction in the amount of time needed to create jar files.
  • JavaDB has been updated to version 10.5.3
  • VisualVM has been updated to 1.2.1
  • Minor updates to StaX (Streaming API for XML).

There are no security related fixes in this release, but the next security-related update is expected this quarter.

Sun have released Java 7 update 18 by Mark Ayad Posted Jan 20, 2010 5:06 PM
Re: Sun have released Java 7 update 18 by Ryan Slobojan Posted Jan 20, 2010 7:52 PM
NUMA increase by Brian Edwrads Posted Jan 20, 2010 5:38 PM
escape analysis by Nikolay Tsankov Posted Jan 21, 2010 2:37 AM
Re: escape analysis by Charles Humble Posted Jan 21, 2010 4:41 AM
  1. Back to top

    Sun have released Java 7 update 18

    Jan 20, 2010 5:06 PM by Mark Ayad

    Sun have released Java 7 update 18 !

  2. Back to top

    NUMA increase

    Jan 20, 2010 5:38 PM by Brian Edwrads

    That NUMA performance increase is pretty amazing. Didn't even realize that problem existed.

  3. Back to top

    Re: Sun have released Java 7 update 18

    Jan 20, 2010 7:52 PM by Ryan Slobojan

    Hi,

    This was a typo, and has been fixed - it was supposed to say 'Java 6 update 18'. We're still a little ways off from Java 7 update 18. ;)

    Thanks,

    Ryan Slobojan
    Chief Editor, InfoQ.com

  4. Back to top

    escape analysis

    Jan 21, 2010 2:37 AM by Nikolay Tsankov

    Unfortunately escape analysis-based optimisation, which was enabled in update 14, has been disabled again in update 18 to be re-instated at some future date


    Some more info on that would be nice

  5. Back to top

    Re: escape analysis

    Jan 21, 2010 4:41 AM by Charles Humble

    Assuming you mean as to why escape analysis has been turned off then yes - sorry! I've not been able to find out any more about why this has happened – the release notes don't help much:


    Note that Escape analysis-based optimization (-XX:+DoEscapeAnalysis) is disabled in 6u18. This option will be restored in a future Java SE 6 update


    and because of the merger activity Sun isn't currently allowed to talk to the press.

Educational Content

The Power of Visibility: Driving a Lean-Agile Transition

Kelley Horton discusses the reasons why her organization transitioned to Lean-Agile, the approach used and the visual tools helping them minimize WIP, concluding that visibility leads to success.

Panel: Modular Java

Alex Blewitt, Kevin Seal and Alex Buckley answer Java modularity-related questions: when is modularity needed, how to address it, and what are the improvements in OSGi-based development.

Whither the Smartphone? Future Directions in Smartphones and Mobile Development

Adam Blum discusses the current trends in mobile development and smartphones, trying to predict what will happen in this area over the next 5 years so a developer would know what to expect.

Cogs in the Machine: Testing Code Embedded in an Impenetrable Framework

Roy Osherove discusses the difficulties met when trying to test code embedded in a framework (cog), presenting several solutions to create unit tests for cogs, using Silverlight code as example.

Confessions of A New Agile Developer

This short article is a first-person case history of someone taking up Agility for the first time. It covers the problems and reactions that are common to most teams and most developers.

Scott Chacon on Git and GitHub

Scott Chacon talks about the technologies that power GitHub (Erlang, Redis,...), and the benefits of Git as a version control and as a storage system. Also: ShowOff, a JS-based presentation tool.

Reformulating the Product Delivery Process

Israel Gat, Erik Huddleston and Stephen Chin present how Inovis realized a higher product throughput by using three unconventional Kanban practices and a Lean Release Management tool called APROPOS.

Enterprise Mashups: Why Do I Care?

Ross Mason discusses how to use enterprise mashups by applying a number of patterns, such as FeedFactory, Super Search, and Pipeline, in order to find new ways to benefit from existing enterprise data