On Fri, 29 Jan 2021 00:54:46 GMT, Claes Redestad <[email protected]> wrote:

> - Merge checkEncoding into the byte[]-based normalizedHash. The latter is 
> only used from ZipFile.initCEN right after the checkEncoding today, so 
> verifying this is equivalent is straightforward.
> - Factor out the logic to calculate hash, check encoding etc into the 
> addEntry method to allow JITs to chew off larger chunks of the logic early on
> 
> Roughly 1.2x speedup on the JarFileMeta microbenchmarks, which include the 
> time required to open the jar file and thus exercising the optimized code.
> 
> Testing: tier1-4

Baseline:
Benchmark                                       (size)  Mode  Cnt    Score    
Error  Units
JarFileMeta.getManifestFromJarWithManifest         512  avgt    5  246.534 ± 
32.934  us/op
JarFileMeta.getManifestFromJarWithManifest        1024  avgt    5  475.978 ± 
70.689  us/op
JarFileMeta.getStreamFromJarWithManifest           512  avgt    5  243.401 ± 
33.190  us/op
JarFileMeta.getStreamFromJarWithManifest          1024  avgt    5  465.899 ± 
58.306  us/op
JarFileMeta.getStreamFromJarWithNoManifest         512  avgt    5  243.480 ± 
44.631  us/op
JarFileMeta.getStreamFromJarWithNoManifest        1024  avgt    5  454.937 ± 
55.268  us/op
JarFileMeta.getStreamFromJarWithSignatureFiles     512  avgt    5  267.522 ± 
48.914  us/op
JarFileMeta.getStreamFromJarWithSignatureFiles    1024  avgt    5  509.779 ± 
81.314  us/op

Patched:
JarFileMeta.getManifestFromJarWithManifest         512  avgt    5  186.973 ± 
26.564  us/op
JarFileMeta.getManifestFromJarWithManifest        1024  avgt    5  360.141 ± 
33.414  us/op
JarFileMeta.getStreamFromJarWithManifest           512  avgt    5  186.244 ± 
30.014  us/op
JarFileMeta.getStreamFromJarWithManifest          1024  avgt    5  362.870 ± 
61.271  us/op
JarFileMeta.getStreamFromJarWithNoManifest         512  avgt    5  182.841 ± 
13.797  us/op
JarFileMeta.getStreamFromJarWithNoManifest        1024  avgt    5  354.254 ± 
67.377  us/op
JarFileMeta.getStreamFromJarWithSignatureFiles     512  avgt    5  215.419 ± 
20.463  us/op
JarFileMeta.getStreamFromJarWithSignatureFiles    1024  avgt    5  403.043 ± 
78.926  us/op

-------------

PR: https://git.openjdk.java.net/jdk/pull/2306

Reply via email to