RFR: 8310837: Use ByteArrayLittleEndian in java.util.zip
Glavo
duke at openjdk.org
Sat Jun 24 06:05:02 UTC 2023
On Sat, 24 Jun 2023 05:24:24 GMT, Alan Bateman <alanb 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
>
> @LanceAndersen This one is going to require checking that startup isn't impacted.
@AlanBateman @jaikiran Sorry, I thought about its possible impact on startup time, but I don't know which tests can be used to test JVM startup time. Can you tell me some relevant tests?
In fact, I now have a branch(https://github.com/openjdk/jdk/commit/30289cc48c36bd7a59d6c707118d74383bf5f378) that rewrites `ByteArray` and `ByteArrayLittleEndian` to avoid using `VarHandle` because I hope to be able to use them more inside the JDK later.
I tested its performance with the `-Xint` option on and it is indeed faster than `VarHandle` in interpreter mode. But I think I'm missing some benchmark results of the impact on startup time to justify its necessity.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14632#issuecomment-1605281589
More information about the core-libs-dev
mailing list