Наш веб-краулер потреблял 128 МБ ОЗУ только на отслеживание посещённых URL. На встраиваемом устройстве с 256 МБ это была половина всей памяти.Задача краулера была простой: отслеживать посещённые URL, чтобы не краулить одну и ту же страницу дважды. После обработки 1 миллиона URL (средняя длина 80 байт) хэш-таблица, в которой хранились эти URL, разрослась до 96 МБ плюс оверхед.«Можем ли мы обменять точность на память? Нас вполне устроит несколько дублированных операций, если это позволит сэкономить большой объём памяти», — сказал мне мой менеджер во время ревью кода.Этот вопрос изменил всё. На самом деле, идеальная точность не требуется. Если мы случайно обработаем одну страницу дважды, то впустую потратим часть пропускной способности, но ничего не поломаем. Главным ограничением была память. Читать далее
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | HyperLogLog: как найти уникальные значения в терабайте данных, не храня их | 0 | 7 | 24-06-2026 |
| 2 | [Перевод] Раньше ПО работало шустро, потому что иначе было никак | 0 | 7 | 28-06-2026 |
| 3 | Как я свертки ускорял | 0 | 7 | 28-06-2026 |
| 4 | Почему Google не индексирует страницы, хотя технически всё в порядке | 0 | 5 | 28-06-2026 |
| 5 | Актуальность техстека как задача: наш путь от хаоса к регулярным SLA-апдейтам | 5 | 7 | 26-06-2026 |
| 6 | Тап по тысяче точек за O(log n): QuadTree и сферическая геометрия в гео-соцсети | 0 | 7 | 28-06-2026 |
| 7 | Баг-трекинг: почему баги возвращаются на прод и какая система это лечит | 0 | 7 | 24-06-2026 |
| 8 | Переделка стоила два дня, теперь два часа. Что в разработке подорожало взамен | 0 | 6 | 26-06-2026 |
| 9 | КТЗ показал единицу, а задачу вернули трижды. Что на самом деле ломает процесс требований | 0 | 6 | 24-06-2026 |
| 10 | Как мы научили реляционую базу хранить оргструктуру в виде графа на 500к пользователей | 0 | 8 | 23-06-2026 |