JDK-8158748 : Speedup creation of nio.zipfs.ZipPath + performance regression from JDK-8061777
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.nio
  • Priority: P5
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2016-06-06
  • Updated: 2018-09-11
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Blocks :  
Relates :  
Description
Since bug JDK-8061777 there is a performance regression for non-UTF-8 charsets.
This could be additionally painful when the creation of ZipPaths becomes looped by ZipFileSystem#iteratorOf().
At least, for single-byte charsets, the former performance could be regained simply by replacing ZipCoder.isUtf8 by something like ZipCoder.isSingleByte.
Further more improvements are possible, please follow: http://mail.openjdk.java.net/pipermail/core-libs-dev/2016-May/041559.html

Furthermore:
- consider subclassing ZipCoder from j.n.c.Charset
- consider benefit from bug JDK-6695386
Comments
The inner loop in ZipPath#normalize(...) could benefit from in using '/' for termination, which in consequence would automatically interrupt this loop at the right position to be continued further.
06-06-2016