Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

[Перевод] Структуры данных на практике. Глава 16: Фильтры Блума и вероятностные структуры данных

Дата публикации: 28-06-2026 10:18:41

Наш веб-краулер потреблял 128 МБ ОЗУ только на отслеживание посещённых URL. На встраиваемом устройстве с 256 МБ это была половина всей памяти.Задача краулера была простой: отслеживать посещённые URL, чтобы не краулить одну и ту же страницу дважды. После обработки 1 миллиона URL (средняя длина 80 байт) хэш-таблица, в которой хранились эти URL, разрослась до 96 МБ плюс оверхед.«Можем ли мы обменять точность на память? Нас вполне устроит несколько дублированных операций, если это позволит сэкономить большой объём памяти», — сказал мне мой менеджер во время ревью кода.Этот вопрос изменил всё. На самом деле, идеальная точность не требуется. Если мы случайно обработаем одну страницу дважды, то впустую потратим часть пропускной способности, но ничего не поломаем. Главным ограничением была память. Читать далее

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1[Перевод] Структуры данных на практике. Глава 16: Фильтры Блума и вероятностные структуры данных0728-06-2026
2[Перевод] Структуры данных на практике. Глава 17: Структуры данных загрузчиков0529-06-2026
3От полной выгрузки к S3 и PostgreSQL: как мы доставляем гигабайты данных в память подов5706-07-2026
4HyperLogLog: как найти уникальные значения в терабайте данных, не храня их0724-06-2026
5[Перевод] Структуры данных на практике. Глава 18: Очереди драйверов устройств0730-06-2026
6In-memory база врёт: 5 расхождений с продовой БД0707-07-2026
7OSDEV: Разработка аллокатора на С++ часть 4. mem_malloc_aligned0513-06-2026
8[Перевод] Паттерны доступа к данным, которые выбесят ваш процессор0703-07-2026
9[Перевод] Раньше ПО работало шустро, потому что иначе было никак0728-06-2026
10[Перевод] Вы можете победить бинарный поиск5715-06-2026

Классификация: Наука. Схожих патентов: 0. Схожих новостей: 10. Тональность: 0. Информативность: 8. Источник: habr.com.