Releases: nkconnor/sharded
Releases · nkconnor/sharded
v0.2.0
Minor features and quality of life improvements
Full Changelog: v.0.1.0...v.0.2.0
Changes
hashbrown
is now built with theinline-more
featuretry_read
now returns anOption
instead of aResult
- updated to Rust 2021 Edition
Additions
- support for using
seahash
as a feature Map::is_empty
Shard::is_empty
impl IntoIterator
forMap
impl Default
forMap
v0.1.0
Major changes to internals and the crate API. See the updated docs for more information. This should still be considered unstable and use at your own risk.
Highlights
- No longer requires nightly. The generic associated types were interesting in theory but in practice there is few locks and collections to use. Even with GATs being stabilized soon, it seems more practical and ergonomic to implement the API directly and use feature flags where necessary.
- Uses
hashbrown::raw
for internal storage. In the prior implementation the underlying storage was (for the most part)HashMap<K, V>
, but, that required producing a hash twice for any access. Using the lower level API allows some modest performance benefits at the cost of losing the higher-level API. - Addition of high level functions
Map::contains
Map::get_owned
Map::insert
Map::into_iter
Map::into_values
Map::len
Map::try_read
Map::remove
Shard::get
Shard::get_mut
Shard::insert
Shard::len
Shard::remove
- Temporarily dropped support for
Set
s. - Added
xxhash
feature