Skip to content

Latest commit

 

History

History
34 lines (24 loc) · 3.01 KB

File metadata and controls

34 lines (24 loc) · 3.01 KB

Celerity Documentation

This folder contains reference documentation for the Celerity high-performance collections library.

Guides

  • Performance tuning — capacity, load factor, hasher selection, struct fast paths, and benchmarking.
  • Migration from BCL collections — mapping Dictionary<,>, HashSet<>, ILookup<,>, and FrozenDictionary<,> 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.

API reference

  • 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).
  • HashingIHashProvider<T> interface and built-in hashers (Int32WangNaiveHasher, Int32Murmur3Hasher, Int64WangHasher, Int64Murmur3Hasher, UInt32Hasher, UInt64Hasher, GuidHasher, the String* hasher family, DefaultHasher<T>), and the HashQualityEvaluator.
  • Sorting — non-comparison sorts and selection over primitive keys (RadixSort, CountingSort, PartialSort).
  • UtilitiesFastUtils helper methods.
  • Native AOT & trimming — AOT / trim compatibility and how it is enforced.

Built with Celerity

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 approximate COUNT(DISTINCT) and windowed dedup over unbounded streams, with deterministic cross-shard merge.

Quick links