-
-
Notifications
You must be signed in to change notification settings - Fork 312
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
Improve perf of Dict and Set #6176
Conversation
8c1a687
to
c541b8d
Compare
I updated the Dict.keepShared semantics because it was not very clear to begin with and turns out to be bad for perf. Since it would block my new more performant impl, I just changed the semantics. I think this is clearer anyway. Now for dict, keepShared only returns elements where both the key and value match. So they are 100% shared. |
b5ab42d
to
21895c8
Compare
Random unrelated valgrind tests where failing. Rebased in hopes the errors will go away. |
Note that the macos-x86-64 tests are not using the macos x86 workflow, they're using the ubuntu x86 one. That was an accidental copy-paste error that's fixed in #6183. |
Still seeing the valgrind errors unfortunately... |
Seems likely like something similar is going on to what John hit here. There it was |
Also add an impl to the dev backend
a48d493
to
37656f4
Compare
I think rebasing on main after merging #6062 fixed the valgrind issue. Now just some wasm issue...hmm. Proabably a miscompilation on the wasm dev backend? |
I decided to just work around the wasm bug. I just rewrote keepShared to have the exact same semantics but sligthly different code gen to get around the bug. Anyway, I think this works and should pass CI now. |
Misc changes to improve Dict and Set performance.