On Wed, 8 May 2024 17:30:22 GMT, Claes Redestad <redes...@openjdk.org> wrote:

>> A rather large startup regression was introduced in 23-b13 from 
>> [JDK-8309622](https://bugs.openjdk.org/browse/JDK-8309622). Some of that has 
>> been dealt with as enhancements such as 
>> [JDK-8330802](https://bugs.openjdk.org/browse/JDK-8330802), 
>> [JDK-8330595](https://bugs.openjdk.org/browse/JDK-8330595) and 
>> [JDK-8330681](https://bugs.openjdk.org/browse/JDK-8330681), which provide 
>> both point fixes and reduce initialization overhead of certain constructs 
>> more generally. The remaining issues stem from a set of lambdas added in 
>> code for `java.util.Locale` and `jdk.internal.util.BaseLocale` causing early 
>> bootstrapping of the lambda infrastructure and a bit of class generation.
>> 
>> While the remaining overheads are relatively small and borderline acceptable 
>> (< 2-3ms), I think it's still worth acting on them in this particular case 
>> since the amount of added bootstrapping overhead is dependent on which 
>> locale the system runs under, which complicates testing and comparisons due 
>> to relatively large differences in paths taken on different systems.
>
> Claes Redestad has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Remove redundant constructor

Thanks for fixing this!

src/java.base/share/classes/sun/util/locale/BaseLocale.java line 96:

> 94:     // Interned BaseLocale cache
> 95:     private static final ReferencedKeySet<BaseLocale> CACHE =
> 96:             ReferencedKeySet.create(true, 
> ReferencedKeySet.concurrentHashMapSupplier());

Should this supplier be in `BaseLocale` class? Otherwise `ReferencedKeySet` may 
end up with static suppliers for each map type?

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

PR Review: https://git.openjdk.org/jdk/pull/19140#pullrequestreview-2046313019
PR Review Comment: https://git.openjdk.org/jdk/pull/19140#discussion_r1594429353

Reply via email to