RFR: 8310843: Reimplement ByteArray and ByteArrayLittleEndian with Unsafe [v10]
Per Minborg
pminborg at openjdk.org
Tue Aug 22 16:41:18 UTC 2023
On Thu, 13 Jul 2023 23:05:48 GMT, Glavo <duke at openjdk.org> wrote:
>> `ByteArray` and `ByteArrayLittleEndian` are very useful tool classes that can be used in many places to performance tuning.
>>
>> Currently they are implemented by `VarHandle`, so using them may have some impact on startup time.
>>
>> This PR reimplements them using `Unsafe`, which reduces the impact on startup time.
>
> Glavo has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 15 additional commits since the last revision:
>
> - Merge branch 'openjdk:master' into unsafe
> - add 8310843 to @bug
> - Merge branch 'openjdk:master' into unsafe
> - Merge branch 'openjdk:master' into unsafe
> - delete incorrect comments
> - delete extraneous whitespace
> - add javadoc
> - delete extraneous whitespace
> - fix test
> - update tests
> - ... and 5 more: https://git.openjdk.org/jdk/compare/5c910d60...cb56e736
In my opinion, reducing startup time can be achieved in other ways, both short-term (sharing VHs) and long-term (pre-generate VHs at build time using condensers). I think having a supported API carries some advantages rather than using Unsafe directly.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14636#issuecomment-1688537509
More information about the core-libs-dev
mailing list