starshard 0.3.0

A blazing-fast sharded concurrent HashMap using hashbrown and RwLock, with lazy shards, atomic length cache, and async support.
Documentation

Starshard

English | 简体中文

Build crates.io docs.rs License Downloads

A high-performance sharded concurrent HashMap for Rust, built on hashbrown and RwLock/tokio::sync::RwLock.

Features

  • Lazy shard initialization
  • O(1) atomic len
  • Optional parallel iteration with rayon
  • Async API with Tokio (feature async)
  • Pluggable hashers (default: fxhash)

Install

Add to Cargo.toml:

[dependencies]
starshard = { version = "0.1.0", features = ["rayon", "async"] }
fxhash = "0.2.1"
hashbrown = { version = "0.16.0", features = ["serde", "rayon"] }
rayon = "1.11.0"
tokio = { version = "1.47.1", features = ["sync", "rt-multi-thread"] }

Quick Start

use starshard::ShardedHashMap;

let map: ShardedHashMap<String, i32, fxhash::FxBuildHasher> = ShardedHashMap::new(64);
map.insert("k".into(), 1);
assert_eq!(map.get(&"k".into()), Some(1));

License

Dual-licensed under MIT or Apache-2.0.