Integrated: 8316582: Minor startup regression in 22-b15 due JDK-8310929

Claes Redestad redestad at openjdk.org
Thu Sep 21 09:41:37 UTC 2023


On Wed, 20 Sep 2023 09:21:00 GMT, Chen Liang <liach at openjdk.org> wrote:

> Can #14636 be a solution to avoid early VH initialization?

I think #14636 would more or less solve the startup regression, yes, but the jury is out on whether we want to accept that. There's value in taking steps to make `VH` indistinguishable from `Unsafe` w.r.t. start-up and other performance characteristics. The issue with using `ByteArray*` in `Integer/StringLatin1` is also more one of bootstrap dependencies. 

We also really need to analyze why the JIT doesn't generate as good code for pair-wise `byte[]` stores as for `ByteArray.setShort` and then try to fix this in the JIT. This would be much preferable to having to pull out a power tool like `ByteArrayLittleEndian` for something so trivial. It might be a good exercise for anyone who want to dive into JITs to get these to perform equally. 

> Also curious how you created such a "Base vs Test" metrics table, could you teach me how?

It's a tool I've written that parses JMH json output and allows comparisons. It's currently part of a larger benchmark running toolkit that we probably can't open source, but I could probably extract the simple parser + printer and put it under the OpenJDK somewhere if there's interest.

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

PR Comment: https://git.openjdk.org/jdk/pull/15836#issuecomment-1727356469


More information about the core-libs-dev mailing list