-
Notifications
You must be signed in to change notification settings - Fork 99
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
Towards unlifted HashMaps #463
Comments
The only likely performance trouble will be with lazy maps and traversals. Otherwise, I think it should reduce code size a bit, which is good, and maybe take stress off branch prediction. |
It would be great if you could give some concrete examples where you're expecting trouble! |
As far as I can tell, this would introduce an additional indirection for |
@konsumlamm ohh yeah. That is going to be a problem. We really need to get the GHC folks to give us a way to have free wrappers. This might kill the whole idea. |
I have opened https://gitlab.haskell.org/ghc/ghc/-/issues/21617 to request "free lifted wrappers". |
If we end up accepting the pointer indirection, we could consider splitting out the
(Previous discussion: #161 (comment)) |
I'm fairly confident that https://gitlab.haskell.org/ghc/ghc/-/merge_requests/8445 will work out. It will allow one to write But it won't happen before 9.6 |
Out of interest has anyone done further work on this? Or run benchmarks in regards to the benefits of this approach? |
Not that I know of. |
This compiles with GHC-9.4-alpha1:
If the ergonomics work out, maybe we could start using a similar representation around GHC 8.8.
The main benefit should be better performance due to the removal of heap checks.
The text was updated successfully, but these errors were encountered: