RFR: 8338897: Small startup regression remains after JDK-8309622 and JDK-8331932 [v2]

Claes Redestad redestad at openjdk.org
Mon Aug 26 14:09:18 UTC 2024


On Mon, 26 Aug 2024 14:00:22 GMT, Claes Redestad <redestad at openjdk.org> wrote:

>> #14404 caused some startup regressions, where the main cause of startup increase in that change was due the use of - and the not very optimized state of - runtime bootstrapped switches. This was remedied by a series of optimizations to the switch bootstrap methods and finally a desugaring of the switch added by #14404. Now @shipilev reports that there appears to be some lingering startup issue from #14404. 
>> 
>> One thing that stands out is a couple of caches which are being eagerly initialized regardless of user locale. This PR makes those caches lazily initialized and slightly more efficient (no need to implement `UnaryOperator` after inlining some code). Avoids loading 4 classes if running the HelloStream startup test in a locale that's in the set of constant base locales, 2 otherwise. This doesn't really do much to move the needle for startup on my setup, but tentatively it's the only remaining inefficiency I've found that came from #14404.
>
> Claes Redestad has updated the pull request incrementally with one additional commit since the last revision:
> 
>   final

@shipilev - mind testing this on your setup? I suspect there are other regressions not related to #14404 that has happened between 23-b13 and current RC, but it's an open question if I should leave JDK-8338897 open or close it with this PR. None of the code in Locale/BaseLocale gets executed a lot in the HelloStream tests, but a small dependency reduction like this might help.

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

PR Comment: https://git.openjdk.org/jdk/pull/20713#issuecomment-2310305847


More information about the core-libs-dev mailing list