Hello Andres,
Dave gave an excellent technical explanation for the way a Bloom Filter works.
Your incentive to use one is space and speed.
- With 1% false positive error rate you would require space of about 8 bits per item (that is one byte!). That would always be much smaller than keeping the complete item and the infrastructure that holds it.
- Items not in the Filter will return false on average after checking only two bits. Using a hash table will likely require more memory skips.
- Adding an item doesn’t require memory allocation since the full capacity is allocated upon initialization.
Ariel