On Fri, 12 Dec 2025 22:24:07 GMT, Justin Lu <[email protected]> wrote:
>> This PR addresses a performance degradation when constructing a new
>> MessageFormat that contains a subformat with a pattern that is not a
>> predefined style. This is due to internal logic which catches an IAE
>> specifically for subformat patterns. Perf tests for choice and number are
>> not grouped, since performance is directly tied to subformat creation.
>>
>> M1 Mac - Perf (before):
>>
>>
>> MessageFormatterBench.testSubformatChoice thrpt 15 865.430 ± 6.766
>> ops/ms
>> MessageFormatterBench.testSubformatNumber thrpt 15 1021.808 ± 11.413
>> ops/ms
>>
>>
>> M1 Mac - Perf (after):
>>
>>
>> Benchmark Mode Cnt Score Error
>> Units
>> MessageFormatterBench.testSubformatChoice thrpt 15 1671.033 ± 55.012
>> ops/ms
>> MessageFormatterBench.testSubformatNumber thrpt 15 3275.727 ± 47.370
>> ops/ms
>
> Justin Lu has updated the pull request incrementally with one additional
> commit since the last revision:
>
> pull values() into a var
src/java.base/share/classes/java/text/MessageFormat.java line 2005:
> 2003: var fStyle = styles[i];
> 2004: // case-insensitive comp for compatibility
> 2005: if (style.compareToIgnoreCase(fStyle.toString()) == 0) {
Suggestion:
if (style.compareToIgnoreCase(fStyle.name()) == 0) {
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/28806#discussion_r2615761963