On Fri, 13 Oct 2023 17:01:11 GMT, Shaojin Wen <d...@openjdk.org> wrote:
>> I submitted PR #15555 before, and there were too many changes. I split it >> into multiple PRs with small changes. This one is one of them. >> >> this PR removed the duplicate code for getChars in >> BigDecimal#StringBuilderHelper, i also make performance faster. >> Please review and don't hesitate to critique my approach and patch. > > Shaojin Wen has updated the pull request incrementally with one additional > commit since the last revision: > > use % calculate lowInt The performance of using StringConcatFactory.makeConcatWithConstants is sometimes fast and sometimes slow: # Run progress: 0.00% complete, ETA 00:00:30 # Fork: 1 of 3 # Warmup Iteration 1: 19.816 ns/op # Warmup Iteration 2: 17.289 ns/op # Warmup Iteration 3: 17.653 ns/op # Warmup Iteration 4: 17.703 ns/op # Warmup Iteration 5: 17.698 ns/op Iteration 1: 17.655 ns/op Iteration 2: 17.564 ns/op Iteration 3: 17.628 ns/op Iteration 4: 17.760 ns/op Iteration 5: 17.679 ns/op # Run progress: 33.33% complete, ETA 00:00:20 # Fork: 2 of 3 # Warmup Iteration 1: 13.430 ns/op # Warmup Iteration 2: 12.064 ns/op # Warmup Iteration 3: 12.366 ns/op # Warmup Iteration 4: 12.384 ns/op # Warmup Iteration 5: 12.380 ns/op Iteration 1: 12.370 ns/op Iteration 2: 12.346 ns/op Iteration 3: 12.395 ns/op Iteration 4: 12.377 ns/op Iteration 5: 12.351 ns/op # Run progress: 66.67% complete, ETA 00:00:10 # Fork: 3 of 3 # Warmup Iteration 1: 19.125 ns/op # Warmup Iteration 2: 17.398 ns/op # Warmup Iteration 3: 17.801 ns/op # Warmup Iteration 4: 17.702 ns/op # Warmup Iteration 5: 17.766 ns/op Iteration 1: 17.748 ns/op Iteration 2: 17.804 ns/op Iteration 3: 17.681 ns/op Iteration 4: 17.673 ns/op Iteration 5: 17.624 ns/op It was run on a MacBook M1 Max. There were three iterations. The first time was slow, the second time was fast, and the third time was slow again. ------------- PR Comment: https://git.openjdk.org/jdk/pull/16006#issuecomment-1764305769