[ 
https://issues.apache.org/jira/browse/COMPRESS-380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16317182#comment-16317182
 ] 

Dawid Weiss commented on COMPRESS-380:
--------------------------------------

I've decompressed the entire ~6GB archive without any errors with the code from 
the current head of COMPRESS-380 branch (I just decompressed it, didn't diff 
against the original!). This is great, although the performance penalty is huge 
at the moment (read: it takes forever... an order of magnitude slower than the 
C version; the archive took ~3 hours to just decompress while total commander 
manages the same in a few minutes). I looked at zlib implementation of inflate 
(they create smart lookup tables for larger bit windows) and found a Java 
implementation of this concept in [1]. The speed this implementation achieves 
is quite nice (see [2]); could be something to think about in the future as an 
improvement. For the time being, even a slow implementation is better than none 
(although this seems almost suspiciously slow).

[1] 
https://github.com/nayuki/DEFLATE-library-Java/blob/master/src/io/nayuki/deflate/InflaterInputStream.java
[2] https://www.nayuki.io/page/deflate-library-java


> Support for ENHANCED_DEFLATED (Deflate64) in ZIP files
> ------------------------------------------------------
>
>                 Key: COMPRESS-380
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-380
>             Project: Commons Compress
>          Issue Type: New Feature
>            Reporter: Dawid Weiss
>             Fix For: 1.16
>
>         Attachments: archive-deflate.zip, archive-deflate64.zip, archive.zip, 
> archive64.zip, compress-380.diff, hello.world, input2
>
>
> Some of the (large) ZIP files we try to process currently will throw this:
> {code}
> UnsupportedZipFeatureException: unsupported feature method 
> 'ENHANCED_DEFLATED' 
> {code}
> which is a bummer since JDK's implementation also doesn't support Deflate64. 
> This seems to be PKWare's extensions, although code to decrypt it exists in 
> zlib (and is appropriately licensed, I believe).
> https://github.com/madler/zlib/tree/master/contrib/infback9



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to