On Mon, 8 Mar 2021 16:00:27 GMT, Claes Redestad <[email protected]> wrote:
>> This patch optimizes String.format expressions that uses trivial specifiers.
>> In the JDK, the most common variation of String.format is a variation of
>> format("foo: %s", s), which gets a significant speed-up from this.
>>
>> Various other cleanups and minor improvements reduce overhead further and
>> ensure we get a small gain also for more complex format strings.
>
> Claes Redestad has updated the pull request incrementally with one additional
> commit since the last revision:
>
> Lazily evaluate zero
src/java.base/share/classes/java/util/Formatter.java line 2447:
> 2445: private char zero() {
> 2446: char zero = this.zero;
> 2447: if (zero == 0) {
U+0000 is a valid character. Although it's almost no possibility where any
locale assigns it as the zero in it, theoretically it is possible. It can be
avoided by comparing it with a non-character, such as BOM (U+FFFE)
-------------
PR: https://git.openjdk.java.net/jdk/pull/2830