This folder contains reference documentation for the Celerity high-performance collections library.
- Performance tuning — capacity, load factor, hasher selection, struct fast paths, and benchmarking.
- Migration from BCL collections — mapping
Dictionary<,>,HashSet<>,ILookup<,>, andFrozenDictionary<,>to Celerity types. - Troubleshooting — common errors and behavioural surprises, with fixes.
- FAQ — conceptual questions about the design.
- Testing & coverage — the test layers, property-based and fuzz harnesses, and how coverage is measured and gated.
- Collections — dictionaries (
CelerityDictionary,RobinHoodDictionary,SwissDictionary,HashCachingDictionary,PooledCelerityDictionary,IntDictionary,LongDictionary,SmallDictionary,EnumMap,FrozenCelerityDictionary), sets (CeleritySet,SwissSet,RobinHoodSet,HashCachingSet,PooledCeleritySet,IntSet,LongSet,SmallSet,EnumSet,FrozenCeleritySet), multi-collections (CelerityMultiMap,CelerityMultiSet), probabilistic / bit collections (BitSet,BloomFilter,CuckooFilter,XorFilter,HyperLogLog,CountMinSketch,TopKSketch), caches (LruCache), sequences (Deque), and union-find (DisjointSet). - Hashing —
IHashProvider<T>interface and built-in hashers (Int32WangNaiveHasher,Int32Murmur3Hasher,Int64WangHasher,Int64Murmur3Hasher,UInt32Hasher,UInt64Hasher,GuidHasher, theString*hasher family,DefaultHasher<T>), and theHashQualityEvaluator. - Sorting — non-comparison sorts and selection over primitive keys (
RadixSort,CountingSort,PartialSort). - Utilities —
FastUtilshelper methods. - Native AOT & trimming — AOT / trim compatibility and how it is enforced.
Standalone packages built on top of Celerity.Collections — each ships as its own NuGet package, so you add only the one you need. See each package's README for the full API and runnable examples.
Celerity.Ring— deterministic consistent-hash & rendezvous (HRW) rings for sharding and request routing, with byte-identical node assignment across OS / architecture / runtime.Celerity.Sentinel— streaming abuse / heavy-hitter detection (top offenders, per-key rate, fan-out cardinality) in a fixed footprint regardless of key cardinality.Celerity.Cardinality— mergeable approximateCOUNT(DISTINCT)and windowed dedup over unbounded streams, with deterministic cross-shard merge.
- README — project overview and benchmarks.
- ROADMAP — planned milestones.
- CONTRIBUTING — how to build, test, and submit PRs.
- CHANGELOG — release history.