RFR: 8330802: Desugar switch in Locale::createLocale [v2]
Mandy Chung
mchung at openjdk.org
Mon Apr 22 17:23:30 UTC 2024
On Mon, 22 Apr 2024 14:11:41 GMT, Claes Redestad <redestad at openjdk.org> wrote:
>> This switch expression in `Locale::createLocale` is causing a somewhat large startup regression on my local system. Desugaring to if statements seem like the right thing to do while we investigate ways to further reduce overheads in `SwitchBootstraps`.
>>
>> These numbers are against a baseline which include #18865 and #18845, which already improved the situation:
>>
>>
>> Name Cnt Base Error Test Error Unit Change
>> Perfstartup-Noop 20 40,500 ± 1,942 31,000 ± 2,673 ms/op 1,31x (p = 0,000*)
>> :.cycles 143254849,000 ± 3398321,355 102205427,650 ± 2192784,853 cycles 0,71x (p = 0,000*)
>> :.instructions 307138448,850 ± 2095834,550 219415574,800 ± 376992,067 instructions 0,71x (p = 0,000*)
>> :.taskclock 39,500 ± 1,942 22,500 ± 3,858 ms 0,57x (p = 0,000*)
>> * = significant
>>
>>
>> Comparing to a baseline without those recent improvements the overhead was almost the double:
>>
>> Name Cnt Base Error Test Error Unit Change
>> Perfstartup-Noop 20 50,000 ± 0,000 31,000 ± 2,673 ms/op 1,61x (p = 0,000*)
>> :.cycles 187047932,000 ± 3330400,381 102205427,650 ± 2192784,853 cycles 0,55x (p = 0,000*)
>> :.instructions 408219060,350 ± 4031173,140 219415574,800 ± 376992,067 instructions 0,54x (p = 0,000*)
>> :.taskclock 53,500 ± 4,249 22,500 ± 3,858 ms 0,42x (p = 0,000*)
>> * = significant
>
> Claes Redestad has updated the pull request incrementally with one additional commit since the last revision:
>
> Remove InternalError in favor of CCE
Looks good.
-------------
Marked as reviewed by mchung (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/18882#pullrequestreview-2015399334
More information about the core-libs-dev
mailing list