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