[ 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)