@@ -176,13 +176,24 @@ Most other options are concerned with compression tuning:
176176 and ` mkdwarfs ` will be slightly slower and use more memory.
177177
178178- ` --bloom-filter-size ` =[ * category* ` :: ` ] * value* :
179- The segmenting algorithm uses a bloom filter to determine quickly if
180- there is * no* match at a given position. This will filter out more than
181- 90% of bad matches quickly with the default bloom filter size. The default
182- is pretty much where the sweet spot lies. If you have copious amounts of
183- RAM and CPU power, feel free to increase this by one or two and you * might*
184- be able to see some improvement. If your system is tight on memory, then
185- decreasing this will potentially save a few MiBs.
179+ The segmenting algorithm uses a bloom filter to determine quickly if there
180+ is * no* match at a given position. This will usually filter out more than
181+ 97% of bad matches quickly with the default bloom filter size. The default
182+ of 4 is very close to the sweet spot for the default settings. Note that
183+ the actual bloom filter memory size is a function of the block size (` -S ` ),
184+ the window step size (` -w ` ), and the lookback size (` -B ` ). This option is
185+ merely another 2^n multiplier on top of that. With every increase of this
186+ option value by 1, the bloom filter memory size doubles, but the number of
187+ false positives is reduced by a factor of around 3.5. However, increasing the
188+ value also means the bloom filter is less likely to fit into the CPU cache.
189+ It's a trade-off and it's hardware-dependent. The impact of the bloom filter
190+ is more relevant as you increase the lookback size, as in addition to a
191+ "global" bloom filter, each lookback block has its own "local" bloom filter,
192+ so more filters need to be checked if a candidate isn't rejected by the
193+ global filter. This means that as you increase the lookback size, it may
194+ pay off to nudge this value up to 5 (if you have enough RAM to spare).
195+ It is usually not recommended to drop this below 4 unless you're under
196+ pressure to save memory, as it will noticeably hurt segmenter speed.
186197
187198- ` -L ` , ` --memory-limit=auto| ` * value* :
188199 Approximately how much memory you want ` mkdwarfs ` to use during filesystem
0 commit comments