Probabilistic data structures in Go
The author introduces unsure, a Go package implementing five probabilistic data structures—Bloom filter, Count-min sketch, HyperLogLog, T-digest, and Top-k sketch—designed to drastically reduce memory usage while maintaining high performance. Benchmarks show that the package's implementations often outperform existing Go alternatives in speed and memory efficiency. These data structures provide approximate answers for use cases such as checking set membership, estimating frequencies, counting unique items, computing quantiles, and finding heavy hitters. Open article →