You can determine the required size of a bloom filter from population and required error (there are formulas you can find on wikipedia).
See https://en.wikipedia.org/wiki/Bloom_filter#Optimal_number_of...
> The required number of bits, m, given n (the number of inserted elements) and a desired false positive probability p (and assuming the optimal value of k is used) can be computed by substituting the optimal value of k in the probability expression above:
>
> This means that for a given false positive probability p, the length of a Bloom filter m is proportionate to the number of elements being filtered n
You will find that the required size (in bits) at any reasonable error (Wikipedia shares this observation:
https://en.wikipedia.org/wiki/Bloom_filter#Space_and_time_ad...
> However, if the number of potential values is small and many of them can be in the set, the Bloom filter is easily surpassed by the deterministic bit array, which requires only one bit for each potential element.
(My use case was tracking allocated blocks in a filesystem, in an application where probabilistic results would have been adequate. It is perfectly valid for 100% of blocks to be allocated, so the required vector size for a bloom filter would be longer than the same-size bitvector.)