/[Apache-SVN]
ViewVC logotype

Revision 1647329


Jump to revision: Previous Next
Author: krosenvold
Date: Mon Dec 22 15:24:02 2014 UTC (9 years, 7 months ago)
Changed paths: 6
Log Message:
COMPRESS-296 Parallel compression. Added StreamCompressor and ScatterZipOutputStream.

StreamCompressor is an extract of the deflation algorithm from ZipArchiveOutputStream, which unfortunately
was too conflated with writing a file in a particular structure. Using the actual zip file format as an
intermediate format for scatter-streams turned out to be fairly inefficient. ScatterZipOuputStream
is 2-3x faster than using a zip file as intermediate format.

It would be possibly to refactor ZipArchiveOutputStream to use StreamCompressor, but there would
be a slight break in backward compatibility regarding the protected writeOut method, which
is moved to the streamCompressor class.

Changed paths

Path Details
Directorycommons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ScatterZipOutputStream.java added
Directorycommons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/StreamCompressor.java added
Directorycommons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java modified , text changed
Directorycommons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/ZipTestCase.java modified , text changed
Directorycommons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/ScatterZipOutputStreamTest.java added
Directorycommons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/StreamCompressorTest.java added

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26