RFR: 8222532: (zipfs) Performance regression when writing ZipFileSystem entries in parallel
Claes Redestad
claes.redestad at oracle.com
Thu Apr 18 13:10:32 UTC 2019
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
More information about the nio-dev
mailing list