Skip to content

Releases: nkconnor/sharded

v0.2.0

14 Jul 13:51
Compare
Choose a tag to compare

Minor features and quality of life improvements

Full Changelog: v.0.1.0...v.0.2.0

Changes

  • hashbrown is now built with the inline-more feature
  • try_read now returns an Option instead of a Result
  • updated to Rust 2021 Edition

Additions

  • support for using seahash as a feature
  • Map::is_empty
  • Shard::is_empty
  • impl IntoIterator for Map
  • impl Default for Map

v0.1.0

27 Aug 13:56
Compare
Choose a tag to compare

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 Sets.
  • Added xxhash feature

v0.0.1

19 Aug 21:44
Compare
Choose a tag to compare
v0.0.1 Pre-release
Pre-release
  • Added core datatype Shard
  • Type alias Map and Set
  • Features for hashbrown, parking_lot, ..
  • Some work on generic impls