-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
Performance improvements for IdDict #51091
base: master
Are you sure you want to change the base?
Commits on Feb 2, 2024
-
Performance improvements for IdDict
Remove old comment Switch to atomic pointers Fixes errors in ASAN as previously we did atomic stores to non atomic pointers Split empty! change into seperate pr Remove duplication in C code Add tests 15% speed up for setindex! Remove try catch Signifcant performance improvement for path where error used to be caught. Fix bug Actually fix bug Restore performance by not boxing key twice Fix comment Add comment about IdDict being mirrored in julia.h Fix comment Fix another comment Allow writing NULL into iddict Reverts the change of behaviour just in case. Remove clutter
Configuration menu - View commit details
-
Copy full SHA for 717388b - Browse repository at this point
Copy the full SHA 717388bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 27dcc24 - Browse repository at this point
Copy the full SHA 27dcc24View commit details -
Move code for calculating key index into Julia
Added inbounds as dict.jl seems to use them as well
Configuration menu - View commit details
-
Copy full SHA for a31404b - Browse repository at this point
Copy the full SHA a31404bView commit details -
Decrease inlining cost of key indexing function
Unfortunately, cost is ~106 now so still too high, JuliaLang#51912 is tracking issue about high cost. Lowers inlining cost of setproperty as we know rhs isa Memory{Any}
Configuration menu - View commit details
-
Copy full SHA for d5fba6f - Browse repository at this point
Copy the full SHA d5fba6fView commit details -
About 15% faster on microbenchmark, `f!(d)` example in pr comments
Configuration menu - View commit details
-
Copy full SHA for d17b27b - Browse repository at this point
Copy the full SHA d17b27bView commit details -
Configuration menu - View commit details
-
Copy full SHA for bb360d6 - Browse repository at this point
Copy the full SHA bb360d6View commit details -
Revert "Decrease inlining cost of key indexing function"
This reverts commit 519dfe7.
Configuration menu - View commit details
-
Copy full SHA for f377b7e - Browse repository at this point
Copy the full SHA f377b7eView commit details -
Revert "Move code for calculating key index into Julia"
This reverts commit 7f20833.
Configuration menu - View commit details
-
Copy full SHA for e34913a - Browse repository at this point
Copy the full SHA e34913aView commit details -
Added inbounds as dict.jl seems to use them as well
Configuration menu - View commit details
-
Copy full SHA for 46daa2d - Browse repository at this point
Copy the full SHA 46daa2dView commit details -
Revert changes to get! with callable and add test.
Fixes bug if for example the call to `default` mutated the dict.
Configuration menu - View commit details
-
Copy full SHA for cd5f495 - Browse repository at this point
Copy the full SHA cd5f495View commit details -
Configuration menu - View commit details
-
Copy full SHA for ad5a02a - Browse repository at this point
Copy the full SHA ad5a02aView commit details -
Configuration menu - View commit details
-
Copy full SHA for c3047c1 - Browse repository at this point
Copy the full SHA c3047c1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a428ad - Browse repository at this point
Copy the full SHA 3a428adView commit details
Commits on Feb 6, 2024
-
Conform to dict API and deal with
convert
failingConform to dict API, by moving `@inbounds` and changing `ht_keyindex!`. Deal with failure case when `convert` calls fails. TODO: think about concurrent modifications, should only be a problem in `get!`. Add tests for `convert` failing.
Configuration menu - View commit details
-
Copy full SHA for 25e7410 - Browse repository at this point
Copy the full SHA 25e7410View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6cbd3f0 - Browse repository at this point
Copy the full SHA 6cbd3f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for e864462 - Browse repository at this point
Copy the full SHA e864462View commit details