On Wed, 8 May 2024 08:19:54 GMT, Daniel Jeliński <djelin...@openjdk.org> wrote:
> 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. Results before: Benchmark Mode Cnt Score Error Units BigDecimals.testHugeLargeDivide avgt 15 115.176 ± 0.965 ns/op BigDecimals.testHugeSmallDivide avgt 15 82.652 ± 0.601 ns/op BigDecimals.testLargeSmallDivide avgt 15 6.601 ± 0.320 ns/op BigIntegers.testHugeLargeDivide avgt 15 53.905 ± 0.734 ns/op BigIntegers.testHugeSmallDivide avgt 15 52.762 ± 0.354 ns/op BigIntegers.testLargeSmallDivide avgt 15 22.990 ± 0.058 ns/op after: Benchmark Mode Cnt Score Error Units BigDecimals.testHugeLargeDivide avgt 15 106.549 ± 0.695 ns/op BigDecimals.testHugeSmallDivide avgt 15 68.339 ± 0.172 ns/op BigDecimals.testLargeSmallDivide avgt 15 6.594 ± 0.328 ns/op BigIntegers.testHugeLargeDivide avgt 15 29.576 ± 0.411 ns/op BigIntegers.testHugeSmallDivide avgt 15 30.072 ± 0.242 ns/op BigIntegers.testLargeSmallDivide avgt 15 8.034 ± 0.078 ns/op ------------- PR Comment: https://git.openjdk.org/jdk/pull/19134#issuecomment-2100030115