RFR: 8310813: Simplify and modernize equals, hashCode, and compareTo for BigInteger [v7]
Pavel Rappo
prappo at openjdk.org
Wed Oct 11 08:35:18 UTC 2023
On Tue, 19 Sep 2023 09:49:53 GMT, Pavel Rappo <prappo at openjdk.org> wrote:
>> Please review this PR to use modern APIs and language features to simplify equals, hashCode, and compareTo for BigInteger. If you have any performance concerns, please raise them.
>>
>> This PR is cherry-picked from a bigger, not-yet-published PR, to test the waters. That latter PR will be published soon.
>
> Pavel Rappo 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 14 additional commits since the last revision:
>
> - Merge branch 'master' into 8310813
> - Fix bugs in Shared.createSingle
> - Merge branch 'master' into 8310813
> - Group params coarser (suggested by @cl4es)
>
> - Splits 20 params into 3 groups: (S)mall, (M)edium and (L)arge.
> Every testXYZ method invokes M operations, where M is the maximum
> number of elements in a group. Shorter groups are cyclically padded.
> - Uses the org.openjdk.jmh.infra.Blackhole API and increases
> benchmark time.
> - Fixes a bug in Shared that precluded 0 from being in a pair.
> - Use better overloads (suggested by @cl4es)
>
> - Uses simpler, more suitable overloads for the subrange
> starting from 0
> - Improve benchmarks
> - Merge branch 'master' into 8310813
> - Restore hash code values
>
> BigInteger is old and ubiquitous enough so that there might be
> inadvertent dependencies on its hash code.
>
> This commit also includes a test, to make sure hash code is
> unchanged.
> - Merge branch 'master' into 8310813
> - Add a benchmark
> - ... and 4 more: https://git.openjdk.org/jdk/compare/0764977c...77bfab34
To Skara bots: keep this PR alive.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14630#issuecomment-1757127884
More information about the core-libs-dev
mailing list