RFR: 8222532: (zipfs) Performance regression when writing ZipFileSystem entries in parallel

Lance Andersen lance.andersen at oracle.com
Mon Apr 22 19:26:33 UTC 2019

Hi Claes,

Thank you for your efforts here.

I have gone through your changes, comparing to the original code prior to JDK-8034802 and your changes look good.  It would be good if someone else can  also help sanity check but you did a nice job of adding the functionality back.

Before you push, please update the copyright for ZipFileSystemProvider.

> On Apr 18, 2019, at 9:10 AM, Claes Redestad <claes.redestad at oracle.com> wrote:
> Hi,
> JDK-8034802 changed zipfs to defer deflation to only happen when
> closing/syncing the ZipFileSystem. Previously it happened eagerly when
> closing output streams retrieved via Files.newOutputStream. While this
> behavior change could have positive effects in some cases (since
> reading/writing entries don't need to inflate/deflate on the fly), it
> also broke the ability to deflate entries in parallel.
> This patch reverts the behavior so that entries are deflated (by
> default) when individual entry output streams are closed. File channels
> retain the behavior that entries are inflated into an internal byte
> array.
> Bug:    https://bugs.openjdk.java.net/browse/JDK-8222532
> Webrev: http://cr.openjdk.java.net/~redestad/8222532/open.00/
> Testing: tier1-3, verified recuperation of performance in reproducer to
> pre-JDK-8034802 levels.
> Thanks!
> /Claes

 <http://oracle.com/us/design/oracle-email-sig-198324.gif> <http://oracle.com/us/design/oracle-email-sig-198324.gif>
 <http://oracle.com/us/design/oracle-email-sig-198324.gif>Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
Lance.Andersen at oracle.com <mailto:Lance.Andersen at oracle.com>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/nio-dev/attachments/20190422/f07ad08f/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: oracle_sig_logo.gif
Type: image/gif
Size: 658 bytes
Desc: not available
URL: <https://mail.openjdk.java.net/pipermail/nio-dev/attachments/20190422/f07ad08f/oracle_sig_logo-0001.gif>

More information about the nio-dev mailing list