-
Notifications
You must be signed in to change notification settings - Fork 288
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
Implement XxxAssign operations on HashSets #529
Commits on Jun 17, 2024
-
Remove A: Allocator generics bound from BitOr and BitAnd impl
BitXor and Sub already don't have them, and its not like we guarantee returning a set with the same A type anyway. I would be fine with adding it to BitXor and Sub instead, but I think it should be consistent.
Configuration menu - View commit details
-
Copy full SHA for f67749f - Browse repository at this point
Copy the full SHA f67749fView commit details -
Implement Add<&HashSet<T, S>> for &HashSet<T, S>
This is functionally the same as BitOr, but imo its more intuitive if it exists because of the Sub impl
Configuration menu - View commit details
-
Copy full SHA for caea18d - Browse repository at this point
Copy the full SHA caea18dView commit details -
Implement XxxAssign operations for HashSets
Also add a set of benchmarks for set operations
Configuration menu - View commit details
-
Copy full SHA for 6e0aec2 - Browse repository at this point
Copy the full SHA 6e0aec2View commit details -
Improve large set - small set performance
Also remove S: Default bound on Assign ops
Configuration menu - View commit details
-
Copy full SHA for 28982b9 - Browse repository at this point
Copy the full SHA 28982b9View commit details -
The performance benefit is honestly within margin of error, so it might be better to undo this in favor of the previous simpler implementation.
Configuration menu - View commit details
-
Copy full SHA for fcb964b - Browse repository at this point
Copy the full SHA fcb964bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 599bb39 - Browse repository at this point
Copy the full SHA 599bb39View commit details -
Move benchmark set creation to separate function
To make testing with different elements easier
Configuration menu - View commit details
-
Copy full SHA for 2d289cc - Browse repository at this point
Copy the full SHA 2d289ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 025b2ab - Browse repository at this point
Copy the full SHA 025b2abView commit details -
Make non-assigning set ops return a set with the same type of allocator
This requires for the allocator to implement Default
Configuration menu - View commit details
-
Copy full SHA for 481ef39 - Browse repository at this point
Copy the full SHA 481ef39View commit details