-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Enum ordinals -> tableswitch #5537
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
We don't necessarily need to do the same, but for reference here's how Java does it: http://www.benf.org/other/cfr/switch-on-enum.html, it's complicated because it's designed to survive reordering and addition of fields to the enum. |
This is a must done,take a look at : https://github.com/akka/akka/pull/25982/files#diff-ac929e6fd84743df4b6e214b5499d644R423 for why... |
@hepin1989 without benchmark results you won't convince us that it's a "must done" |
Same patterns in scala future,zio, etc |
and we can't rely on mima because definitions are order sensitive |
There is some discussion this issue that may help whoever picks this up in the now closed-as-duplicate ticket: #23314 |
Most damning of all. |
@som-snytt 😃 I didn't really mean it as a slight for the Kotlyn compiler. I just meant, it's a newer language so you wouldn't expect the compiler to be that mature and contain this kinds of optimizations. |
Just following up on a conversation @odersky and I had at SBTB … I was wondering if we could use enum ordinals to emit tableswitches for eligible
match
expressions. I have had cases where I had to reorder cases as a performance optimization and something like this would have been really helpful.The text was updated successfully, but these errors were encountered: