GzipCompressorOutputStream should forward write(byte[] buf) and write(byte[] 
buf, int off, int len) to underlying stream
------------------------------------------------------------------------------------------------------------------------

                 Key: COMPRESS-83
                 URL: https://issues.apache.org/jira/browse/COMPRESS-83
             Project: Commons Compress
          Issue Type: Improvement
    Affects Versions: 1.0
         Environment: Linux
            Reporter: Aleksey Shipilev


Current version of GzipCompressorOutputStream decorates only write(int b) 
method for underlying java.zip.util.GZipOutputStream.

In common scenario of:

OutputStream os = ...;
GzipCompressorOutputStream gcos = new GzipCompressorOutputStream(os);
[do extensive write(byte[] buf]

this results in very slow _unbuffered_ write. This is particularly evident if 
the code changes to:

OutputStream os = ...;
GZIPOutputStream gos = new GZIPOutputStream(os);
[do extensive write(byte[] buf]

...which is blazingly faster.

In my environment, packing 100 Mb stream with Commons wrapper takes about 120 
seconds, while using java.util.zip directly takes less than 1 second. 
This performance hit is way too bad for simple wrapper.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to