United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6601859 Use 7-zip for Java kernel core msi file and it or java.util.zip.GZIP*Stream for bundle compression
JDK-6601859 : Use 7-zip for Java kernel core msi file and it or java.util.zip.GZIP*Stream for bundle compression

Details
Type:
Enhancement
Submit Date:
2007-09-06
Status:
Closed
Updated Date:
2010-09-17
Project Name:
JDK
Resolved Date:
2008-06-03
Component:
deploy
OS:
windows
Sub-Component:
deployment_toolkit
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
6u5
Fixed Versions:
6u10 (b10)

Related Reports
Backport:
Relates:
Relates:
Relates:
Relates:

Sub Tasks

Description
The Java Kernel engineering team has requested Sun legal clearance to use 7-Zip (http://www.7-zip.org) as the mechanism for bundle compression to reduce download overhead. 
This RFE is to prototype and test use of 7-Zip and then integrate use of its binaries for compressing and uncompressing bundles after legal approval is received. The size of the 7-Zip .dll file(s) needed for decompression is still being determined, but the overall savings for a typical bundle collection is expected to be significant.

The tradeoff of benefit vs overhead and complication with using the 7-Zip binaries make this approach painful. A second approach (requiring separate legal approval) using the 7-Zip SDK (but only modifying one of it's "public domain" files, not any under LGPL) is being prototyped.

Also, compression of the Java Kernel .msi file is a much better alternative to the current Microsoft (internal cab file) compression used now. So this RFE and the prototype work has been extended to cover the JK .msi file as well as bundle files.

                                    

Comments
EVALUATION

An initial, approximate table of expected savings for bundle sizes available with 7-Zip, (not counting the size of the 7-Zip decompression code) is available here:

   http://j2se.east/deployment/www/webrevs/psoper/jkcompress.html
                                     
2007-09-10
EVALUATION

Use of 7-Zip with a "no compression" cab file within the JK .msi file results in roughly 500KB savings, at a cost of roughly 50-302KB of overhead from inclusion of 7-Zip with the installer (the former being "best" use of the SDK approach and the latter being use of the .dll collection included in the primary 7-Zip binary distribution.
                                     
2007-10-02
EVALUATION

If 7-Zip compression is not available for bundle files, GZIP{Input,Output}Stream will
be used as an alternative to jar/zip compression in the bundle archive files themselves, so bundle compression will be uniformly on the "back end" of the deploy
build process.
                                     
2007-11-19



Hardware and Software, Engineered to Work Together