Skip to content

[documentation] - Any rough guidance on memory usage of the bloom filter? #2520

@StuAtGit

Description

@StuAtGit

Hello,
I tried to poke around on the documentation for rough guidance on the effect of (size,fpp) on memory usage on the bloom filter, but couldn't find anything. Two main questions:

  • is the allocation fixed? I assumed that, but when testing with larger and larger number (at 1 x 10^9, 0.01 fpp now), I didn't see it budge - which is good! But made me worried it's not an upfront, fixed allocation. Would be nice to have this confirmed as a design choice (i.e. won't change in the future)
  • any guidance? Like I said, I'm up to 1 billion & 1% fp rate - wondering what the impact of fp rate is now...

Mainly it seems to work so good, I can't get noticeable numbers on it :)
But this will be in a library, incorporated into a long-running process with lots and lots of requests, so it would be good to know, before I crash something with an OOME one day.

I did notice that, based on some other issues filed, it does look like there are basically two types of allocations:

  • one up-front allocation for the filter
  • allocations of temporary objects that should be collected, and not grow proportionally to the filter size

Mainly I'm wondering if this is a conscious choice or something that will likely change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions