ring alternatives and similar packages
Based on the "Data Structures" category.
Alternatively, view ring alternatives based on common mentions on social networks and blogs.
-
golang-set
A simple, battle-tested and generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp. -
hyperloglog
HyperLogLog with lots of sugar (Sparse, LogLog-Beta bias correction and TailCut space reduction) brought to you by Axiom -
ttlcache
DISCONTINUED. An in-memory cache with item expiration and generics [Moved to: https://github.com/jellydator/ttlcache] -
Bloomfilter
DISCONTINUED. Face-meltingly fast, thread-safe, marshalable, unionable, probability- and optimal-size-calculating Bloom filter in go -
hilbert
DISCONTINUED. Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves. -
cuckoo-filter
Cuckoo Filter go implement, better than Bloom Filter, configurable and space optimized 布谷鸟过滤器的Go实现,优于布隆过滤器,可以定制化过滤器参数,并进行了空间优化 -
go-rquad
:pushpin: State of the art point location and neighbour finding algorithms for region quadtrees, in Go -
nan
Zero allocation Nullable structures in one library with handy conversion functions, marshallers and unmarshallers -
hide
A Go type to prevent internal numeric IDs from being exposed to clients using HashIDs and JSON.
InfluxDB - Purpose built for real-time analytics at any scale.
Do you think we are missing an alternative of ring or a related project?
README
ring - high performance bloom filter
Package ring provides a high performance and thread safe Go implementation of a bloom filter.
Usage
Please see the godoc for usage.
Accuracy
Running make
will perform unit tests, comparing the target false positive rate
with the actual rate. Here is a test against 1 million elements with a targeted
false positive rate of 0.1%. Tests fail if the number of false positives exceeds
the target.
=== RUN TestBadParameters
--- PASS: TestBadParameters (0.00s)
=== RUN TestReset
--- PASS: TestReset (0.26s)
=== RUN TestData
--- PASS: TestData (14.07s)
=== RUN TestMerge
--- PASS: TestMerge (13.78s)
=== RUN TestMarshal
--- PASS: TestMarshal (14.48s)
PASS
>> Number of elements: 1000000
>> Target false positive rate: 0.001000
>> Number of false positives: 99
>> Actual false positive rate: 0.000099
>> Number of false negatives: 0
>> Actual false negative rate: 0.000000
>> Benchmark Add(): 10000000 158 ns/op
>> Benchmark Test(): 10000000 173 ns/op
ok command-line-arguments 47.914s
License
Copyright (c) 2019 Tanner Ryan. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
*Note that all licence references and agreements mentioned in the ring README section above
are relevant to that project's source code only.