RFR: 8315999: Improve Date toString performance [v9]
ExE Boss
duke at openjdk.org
Tue Sep 12 18:01:50 UTC 2023
On Tue, 12 Sep 2023 17:23:00 GMT, 温绍锦 <duke at openjdk.org> wrote:
>> improve date toString performance, includes:
>>
>> java.util.Date.toString
>> java.util.Date.toGMTString
>> java.time.Instant.toString
>> java.time.LocalDate.toString
>> java.time.LocalDateTime.toString
>> java.time.LocalTime.toString
>
> 温绍锦 has updated the pull request incrementally with one additional commit since the last revision:
>
> merge from master
`LocalTime::getNanoChars(byte[], int, int)` can use `DecimalDigits::digitTriple(int)` instead of a local copy of `DecimalDigits.DIGITS_K`:
src/java.base/share/classes/java/time/LocalTime.java line 141:
> 139: @Stable
> 140: static final int[] DIGITS_K = new int[1000];
> 141:
Suggestion:
src/java.base/share/classes/java/time/LocalTime.java line 179:
> 177: int c3 = i % 10 + '0';
> 178: DIGITS_K[i] = c0 + (c1 << 8) + (c2 << 16) + (c3 << 24);
> 179: }
Suggestion:
src/java.base/share/classes/java/time/LocalTime.java line 1710:
> 1708: buf,
> 1709: off,
> 1710: DIGITS_K[div2] & 0xffffff00 | '.'
Suggestion:
DecimalDigits.digitTriple(div2) & 0xffffff00 | '.'
src/java.base/share/classes/java/time/LocalTime.java line 1722:
> 1720: }
> 1721:
> 1722: v = DIGITS_K[rem2];
Suggestion:
v = DecimalDigits.digitTriple(rem2);
src/java.base/share/classes/java/time/LocalTime.java line 1724:
> 1722: v = DIGITS_K[rem2];
> 1723: } else {
> 1724: v = DIGITS_K[div - div2 * 1000];
Suggestion:
v = DecimalDigits.digitTriple(div - div2 * 1000);
src/java.base/share/classes/java/time/LocalTime.java line 1740:
> 1738: buf,
> 1739: off,
> 1740: DIGITS_K[rem1] & 0xffffff00 | (v >> 24)
Suggestion:
DecimalDigits.digitTriple(rem1) & 0xffffff00 | (v >> 24)
-------------
PR Review: https://git.openjdk.org/jdk/pull/15658#pullrequestreview-1622831447
PR Review Comment: https://git.openjdk.org/jdk/pull/15658#discussion_r1323381033
PR Review Comment: https://git.openjdk.org/jdk/pull/15658#discussion_r1323381182
PR Review Comment: https://git.openjdk.org/jdk/pull/15658#discussion_r1323379816
PR Review Comment: https://git.openjdk.org/jdk/pull/15658#discussion_r1323380364
PR Review Comment: https://git.openjdk.org/jdk/pull/15658#discussion_r1323380525
PR Review Comment: https://git.openjdk.org/jdk/pull/15658#discussion_r1323380651
More information about the security-dev
mailing list