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

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

Commit messages:
 - Merge branch 'master' into deswitch
 - Desugar switch in Locale::createLocale

Changes: https://git.openjdk.org/jdk/pull/18882/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18882&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8330802
  Stats: 7 lines in 1 file changed: 2 ins; 0 del; 5 mod
  Patch: https://git.openjdk.org/jdk/pull/18882.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18882/head:pull/18882

PR: https://git.openjdk.org/jdk/pull/18882

Reply via email to