TGViewer
Сохранёнки программиста Сохранёнки программиста @prog_stuff · 6.54K subscribers
Post #3018 261
Как работает фильтр Блума и когда его неточность экономит память

Фильтр Блума сообщает: «элемента точно нет» или «элемент, возможно, есть». Ложные срабатывания допустимы, но добавленное значение он не пропускает. Так можно отсечь часть запросов перед точной проверкой.

В обстоятельном разборе Bloom Filters при добавлении значения хеш-функции выбирают позиции в битовом массиве и записывают в них единицы. Совпадение всех позиций означает «возможно». Автор объясняет, как заполнение повышает долю ложных срабатываний, как подобрать размер массива и число функций, почему удаление может стереть следы других значений.

В примере список из миллиона вредоносных ссылок занимает 20 МБ. Фильтр с одним ложным срабатыванием на миллион проверок занимает 3,59 МБ, на 82% меньше; ответ «возможно» можно сверить с полной базой через API. Для отсева заранее оцените объём данных и приемлемую долю ошибок.
More from @prog_stuff
  1. Sep 20, 2026Как процессор предсказывает ветвления Псевдотранскрипт доклада объясняет тему с нуля. Конв…
  2. Sep 20, 2026Почему одни движки регулярных выражений зависают, а другие нет Обстоятельная статья Расса…
  3. Sep 19, 2026Как проверять изменения без риска для всего трафика Компактный разбор о снижении риска при…
  4. Sep 19, 2026Как собрать модель пиковой нагрузки из боевой телеметрии Обстоятельный гайд о замене выгру…
  5. Sep 17, 2026Как работает однопошаговый отладчик Linux на ptrace Обстоятельная статья разбирает основу…
  6. Sep 17, 2026Как конечные автоматы индексируют миллиарды строк Обстоятельный разбор Эндрю Галланта пока…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →