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
