RFR: 8331907: BigInteger and BigDecimal should use optimized division
Daniel JeliĆski
djelinski at openjdk.org
Wed May 8 08:32:22 UTC 2024
Replace the custom unsigned divide / remainder functions with the compiler-optimized Long.divideUnsigned / remainderUnsigned.
No new tests. Existing tier1-3 tests continue to pass.
I added a new set of divide benchmarks. Results in thread.
I also removed the BigDecimal.toString benchmarks. They no longer serve their purpose - toString caches the returned value, so we were only benchmarking the cache access time.
-------------
Commit messages:
- Fix whitespace
- Remove useless toString benchmarks
- Update copyright
- Remove redundant benchmarks
- Use unsigned ops in BigDecimal
- Simplify logic
- Use divide/remainderUnsigned
- Add BigInteger.divide microbenchmark
Changes: https://git.openjdk.org/jdk/pull/19134/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19134&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8331907
Stats: 212 lines in 4 files changed: 39 ins; 132 del; 41 mod
Patch: https://git.openjdk.org/jdk/pull/19134.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/19134/head:pull/19134
PR: https://git.openjdk.org/jdk/pull/19134
More information about the core-libs-dev
mailing list