On Wed, 20 Sep 2023 09:21:00 GMT, Chen Liang <li...@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

Reply via email to