4ヶ月くらい前の以下のblogの続報です
結論としては、10倍の差は消えて、1.5倍前後?に縮まっていました。 が、まだ遅いです!?!?!?
[info] Benchmark Mode Cnt Score Error Units [info] Bench.javaIfElse thrpt 10 35641.221 ± 768.869 ops/s [info] Bench.javaSwitch thrpt 10 24007.870 ± 1719.115 ops/s [info] Bench.scalaMatch thrpt 10 35293.312 ± 158.851 ops/s
Javaのversionは以下
$ java --version openjdk 23-ea 2024-09-17 OpenJDK Runtime Environment (build 23-ea+7-481) OpenJDK 64-Bit Server VM (build 23-ea+7-481, mixed mode, sharing)
実験は以下の時点のものをローカルのMacでrun
https://github.com/xuwei-k/java-switch-benchmark/tree/eb7eeacfc4e214ecb51cc6b7aa1072c062de03e3
全部のログは以下
https://gist.github.com/xuwei-k/e481d19c0835621f1ed74c4405d6bcbd
詳細な変更はよく知らないですが、おそらく明らかに以下の変更だと思われます。