Skip to content
This repository has been archived by the owner on Jul 30, 2024. It is now read-only.

ratio in ScalableBloomFilter #21

Open
ScottShao opened this issue May 15, 2016 · 6 comments
Open

ratio in ScalableBloomFilter #21

ScottShao opened this issue May 15, 2016 · 6 comments

Comments

@ScottShao
Copy link

Hi, I'm wondering why you are using ratio in ScalableBloomFilter, and it seems that the first filter has different error_as from the rest filters. Because in the code, the first filter has error rate as error_rate * (1 - ratio), and the rest of filters have error rate as error_rate * ratio.

@johnyf
Copy link

johnyf commented May 15, 2016

It would be helpful if you provided links to specific lines in a specific commit of branch master.

@ScottShao
Copy link
Author

https://github.com/jaybaird/python-bloomfilter/blob/master/pybloom/pybloom.py

in line 365 and line 372, when you add a new filter into scalable filters, it seems you are using different error rate, for the first filter, the error rate is error_rate * (1 - ratio), while it's error_rate * ratio for the rest of filters.

@johnyf
Copy link

johnyf commented May 16, 2016

Thanks for the additional information. When master branch changes, the above link will point to different lines. The reference can be made persistent with:

filter = BloomFilter(

and:
filter = BloomFilter(

that can also be written as line 365 and line 372.

Please note that I am not the author of pybloom.

@ScottShao
Copy link
Author

Thank you for the tips.

@joseph-fox
Copy link

@ScottShao I think this version https://pypi.python.org/pypi/pybloom_live/2.1.0 addresses your concerns.

@ScottShao
Copy link
Author

@joseph-fox Thank you for sharing the information. It seems that the only place that we use ratio is when we create a new filter, and we use ratio * error_rate as the error rate of new filter. If this is the case, I don't think we need the parameter ratio any more.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants