RFR: 8315585: Optimization for decimal to string [v6]
Claes Redestad
redestad at openjdk.org
Fri Oct 13 19:41:11 UTC 2023
On Fri, 13 Oct 2023 17:01:11 GMT, Shaojin Wen <duke at 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
src/java.base/share/classes/java/math/BigDecimal.java line 4162:
> 4160: int highInt = (int)intCompact / 100;
> 4161: short pair = DecimalDigits.digitPair((int)intCompact % 100);
> 4162: return "" + highInt + '.' + (char)(pair & 0xff) + (char)(pair >> 8);
FTR: while this works (since `pair` is never negative), casting `pair` to `char` or changing to `(char)((pair >> 8) & 0xff)` would be necessary for the general case.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16006#discussion_r1358751744
More information about the core-libs-dev
mailing list