RFR: 8336706: Optimize LocalDate.toString with StringBuilder.repeat

Chen Liang liach at openjdk.org
Thu Jul 18 11:26:32 UTC 2024


On Thu, 18 Jul 2024 05:21:36 GMT, Shaojin Wen <duke at openjdk.org> wrote:

> class LocalDate {
>     public String toString() {
>         if (absYear < 1000) {
>             if (yearValue < 0) {
>                 buf.append(yearValue - 10000).deleteCharAt(1);
>             } else {
>                 buf.append(yearValue + 10000).deleteCharAt(0);
>             }
>        // ...
>     }
> }
> 
> Currently, LocalDate.toString causes an extra memory copy when processing years < 1000. This can be replaced by using StringBuilder.repeat, which is more concise and has better performance.

Looks good to me; another engineer in the area should take a look too.

-------------

Marked as reviewed by liach (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/20229#pullrequestreview-2185544132


More information about the core-libs-dev mailing list