performance updates to jar and zip

Mike Skells mike.skells at
Thu Oct 20 22:04:48 UTC 2011

Hi All,
I have some performance updates for the jar tool and for the Zip/Jar writing components, including some code to allow parallel writing of Jar and ZIP files (in java.util) 

This work is not finished as yet but I am looking to see if anyone has any views as to the shape this should move in
Currently it is a testbed for comparing different techniques, but largely based on the Jar utility

The changes allow the work to be spread across multiple CPUs and optimise the some of the code and I/O paths

This comparative figures do not include the effect of the nio changes that I proposed in earlier emails

Command line changes
0--9 - I have added support for specifying different compression levels (the existing jar command just allows default compression or '0' for no compression, so the command allows 0-9 to be specified
D This allows the files to all be written with the date of now, lather than the file date  (the conversion of the date to zip format is a CPU hog, and not needed in some use-cases)
Z0-9 - these are the different mechanisms to allow different parallel execution models - I would not expect this to be a production qualifier

The test environment is a 4 core Intel core2 pc running windows  vista 64, the test case is jaring up the content of rt.jar to a jar file. 
Each test is repeated 6 times and the last 5 are averaged to produce the answers

The performance figures are below

More information about the core-libs-dev mailing list