RFR: 8310813: Simplify and modernize equals, hashCode, and compareTo for BigInteger [v7]
Pavel Rappo
prappo at openjdk.org
Tue Sep 19 09:49:53 UTC 2023
> 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/1c86621d...77bfab34
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/14630/files
- new: https://git.openjdk.org/jdk/pull/14630/files/6fa3f694..77bfab34
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=14630&range=06
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=14630&range=05-06
Stats: 105957 lines in 3261 files changed: 46415 ins; 17757 del; 41785 mod
Patch: https://git.openjdk.org/jdk/pull/14630.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/14630/head:pull/14630
PR: https://git.openjdk.org/jdk/pull/14630
More information about the core-libs-dev
mailing list