All Projects → bdupras → guava-probably

bdupras / guava-probably

Licence: Apache-2.0 license
Probabilistic data structures for Guava.

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to guava-probably

phpRebloom
🎛️ Use RedisBloom in PHP!
Stars: ✭ 20 (-60.78%)
Mutual labels:  bloom-filter, cuckoo-filter
cuckoo filter
High-performance, concurrent, and mutable Cuckoo Filter for Erlang and Elixir
Stars: ✭ 31 (-39.22%)
Mutual labels:  bloom-filter, cuckoo-filter
exor filter
Erlang nif for xor_filter. 'Faster and Smaller Than Bloom and Cuckoo Filters'.
Stars: ✭ 29 (-43.14%)
Mutual labels:  bloom-filter
xorf
Xor filters - efficient probabilistic hashsets. Faster and smaller than bloom and cuckoo filters.
Stars: ✭ 64 (+25.49%)
Mutual labels:  bloom-filter
pybloomfiltermmap3
Fast Python Bloom Filter using Mmap
Stars: ✭ 87 (+70.59%)
Mutual labels:  bloom-filter
libfilter
High-speed Bloom filters and taffy filters for C, C++, and Java
Stars: ✭ 23 (-54.9%)
Mutual labels:  bloom-filter
rust-bloomfilter
🦀 Bloom filter implementation in Rust 🦀
Stars: ✭ 18 (-64.71%)
Mutual labels:  bloom-filter
Doramon
个人工具汇总:一致性哈希工具,Bitmap工具,布隆过滤器参数生成器,Yaml和properties互转工具,一键式生成整个前后端工具,单机高性能幂等工具,zookeeper客户端工具,分布式全局id生成器,时间转换工具,Http封装工具
Stars: ✭ 53 (+3.92%)
Mutual labels:  bloom-filter
json-bloomfilter
🗜 A bloom filter implementation in Ruby and Javascript that is serialisable to JSON and compatible between both languages.
Stars: ✭ 15 (-70.59%)
Mutual labels:  bloom-filter
PharoPDS
Probabilistic data structures in Pharo Smalltalk.
Stars: ✭ 28 (-45.1%)
Mutual labels:  bloom-filter
leaked-password
Leaked password check library with bloom filter
Stars: ✭ 41 (-19.61%)
Mutual labels:  bloom-filter
bloom filter
Bloom filter implementation in Crystal lang
Stars: ✭ 33 (-35.29%)
Mutual labels:  bloom-filter
bloomclj
A Bloom Filter implementation in Clojure
Stars: ✭ 20 (-60.78%)
Mutual labels:  bloom-filter
crlite
WebPKI-level Certificate Revocation via Multi-Level Bloom Filter Cascade
Stars: ✭ 52 (+1.96%)
Mutual labels:  bloom-filter
bloomfilter
Simplistic (but fast) java implementation of a bloom filter.
Stars: ✭ 35 (-31.37%)
Mutual labels:  bloom-filter
redisbloom-go
Go Client for RedisBloom probabilistic module
Stars: ✭ 74 (+45.1%)
Mutual labels:  bloom-filter
bloomfilter
Bloom filters for Java
Stars: ✭ 53 (+3.92%)
Mutual labels:  bloom-filter
ganon
ganon classifies short DNA sequences against large sets of genomic sequences efficiently, with download and update of references (RefSeq/Genbank), taxonomic (NCBI/GTDB) and hierarchical classification, customized reporting and more
Stars: ✭ 57 (+11.76%)
Mutual labels:  bloom-filter
golomb-set
A Golomb Coded Set implementation in Rust
Stars: ✭ 33 (-35.29%)
Mutual labels:  bloom-filter
komihash
Very fast, high-quality hash function (non-cryptographic, C) + PRNG
Stars: ✭ 68 (+33.33%)
Mutual labels:  bloom-filter

Guava-Probably: Probabilistic Filters

The Guava-Probably project provides two probabilistic filters for Guava.

Build Status GitHub license Maven Central

What is it?

A probabilistic filter is a space-efficient data structure for representing a set in order to support membership queries. ref

How does it work?

Check out this sweet, interactive demo: Probabilistic Filters By Example

What's it good for?

Probabilistic filters are great for reducing unnecessary disk, database or network queries. Applications where the universe of possible members in a set is much larger than actual members may benefit from probabilistic filters, especially when most membership queries are expected to return false.

No really, what's it good for?

  • Google Chrome uses p-filters to make a preliminary decision whether a particular web site is malicious or safe. ref
  • Exim mail transfer agent uses p-filters in its rate-limiting logic. ref
  • Use a p-filter to reject malicious authentication attempts, protecting your cache and database from botnet queries.

Cool, how do I get it?

Requires JDK 8 or higher and Google Guava 19.0 or higher (as of 1.0).

To add a dependency on Guava-Probably using Maven, use the following:

<dependency>
  <groupId>com.duprasville.guava</groupId>
  <artifactId>guava-probably</artifactId>
  <version>1.0</version>
</dependency>

To add a dependency using Gradle:

dependencies {
  compile 'com.duprasville.guava:guava-probably:1.0'
}

How do I learn more?

Links

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].