hashbrown
hashbrown copied to clipboard
Rust port of Google's SwissTable hash map
# Changes: - Use all values of h2, not just 130 of it. - Convert SSE2 implementation for benchmarking. - Add generic tests to verify that `Group` functions are correctly...
Hi all, I am an LLVM developer working on the middle-end optimizations. Recently I found an anti-pattern in some Rust applications from my [benchmark](https://github.com/dtcxzyw/llvm-opt-benchmark). All of them come from `hashbrown::raw::RawTableInner::free_buckets`:...
The `guard.0 = index + 1` in the implementation of `clone_from _impl` is completely unnecessary, since an invalid index can be set in advance.
Since the Rust libs-api team considers it problematic for `HashSet` to be unreliable with well-behaved `T` (not user-controlled), we should not allow mismatches to be inserted through `get_or_insert_with`.
Fix #399. Tried to do it without additional overhead. Unless there are additional comparisons.
# Motivation One of the scenarios were Swiss Tables tend NOT to fare too well in are scenarios involving deletions. A Swiss Table in which entries are only inserted --...
Currently, it is possible to convert `Bucket`s into raw pointers through `Bucket::as_ptr`, but I was unable to find a reverse. Would it be possible to offer a `[unsafe] fn Bucket::from_ptr(ptr:...
# Changes: - Introduce Overflow Trackers, with features to select the desired variant. - Introduce Displacements, conditional on the Overflow Tracker variant tracking removals. - Adjust insertion/removal of items in...
Dear Hashbrown team, It seems when rely ahash for high performance, ahash 0.8.6 is not compatible with newest nightly rust 1.78 which is now portable_simd for the old stdsimd features....
I need to calculate how much memory the hashmap object with all the contents occupies. How could I do that?