RFR: 8310837: Use ByteArrayLittleEndian in java.util.zip
Jaikiran Pai
jpai at openjdk.org
Sat Jun 24 05:38:06 UTC 2023
On Fri, 23 Jun 2023 20:00:12 GMT, Glavo <duke at openjdk.org> wrote:
> Using `ByteArrayLittleEndian` is simpler and faster.
>
> `make test TEST="micro:java.util.zip.ZipFileOpen"`:
>
>
> Benchmark (size) Mode Cnt Score Error Units
> - ZipFileOpen.openCloseZipFile 512 avgt 15 39052.832 ± 107.496 ns/op
> + ZipFileOpen.openCloseZipFile 512 avgt 15 36275.539 ± 663.193 ns/op
> - ZipFileOpen.openCloseZipFile 1024 avgt 15 77106.494 ± 4159.300 ns/op
> + ZipFileOpen.openCloseZipFile 1024 avgt 15 71955.013 ± 2296.050 ns/op
On an existing Java runtime, I had a quick look at the classes loaded at application startup to see if `MethodHandles` already gets loaded before `ZipUtils` (and related jar/zip classes). From what I see in the output, `MethodHandles` indeed is already loaded before `ZipUtils`. So I think this change doesn't bring in any new/unexpected usage of `MethodHandles` that could potentially impact startup performance.
P.S: I just noticed Alan has a similar comment about startup performance, so yes, having some numbers for a startup benchmark would be useful.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14632#issuecomment-1605275101
More information about the core-libs-dev
mailing list