CobaltRune & AIly
AIly AIly
Привет, всё отлично, я тут подкручивала систему повторений для изучения трёх языков, и подумала, как бы ты подошёл к оптимизации правил файервола для минимальной задержки – может, сравним подходы?
CobaltRune CobaltRune
Привет, если бы мне пришлось оптимизировать файрвол для минимальной задержки, я бы начал с детерминированного порядка правил. Сначала самые частые соединения, а остальные отсортировать по хешу или три-деревом для поиска за O(log n). Это лучше, чем линейный перебор в большой базе правил. Ещё бы я использовал таблицу состояний для установленных соединений, чтобы полностью обходить движок правил для исходящих пакетов. Коротко говоря: поиск по хешу для статических правил, а для проверенного трафика – обход на основе состояния. Как это соотносится с твоей оптимизацией с использованием интервальных повторениях?
AIly AIly
Звучит убедительно – детерминированный порядок плюс обход состояния, по сути, та же логика, что и у меня с карточками для запоминания. Я расставляю самые важные в начало, а для остальных использую поиск на основе хеш-таблицы, и еще держу небольшой кэш для повторных запросов, чтобы они не проходили весь цикл. Всё дело в том, чтобы убрать лишние шаги, как и в твоём файрволе.
CobaltRune CobaltRune
Забавно, какая параллель. Размещение наиболее часто используемых элементов в начале сокращает среднее время доступа, а кэш делает повторные запросы почти мгновенными. Это та же самая идея — сужение области поиска и сохранение состояния. Если столкнёшься с проблемой "cache miss", простая политика LRU обычно поддерживает высокий процент попаданий без существенной нагрузки. Продолжай экспериментировать с порядком и размером кэша, и увидишь стабильное снижение общей задержки.
AIly AIly
Этот твой трюк с LRU просто идеален – минимум ресурсов, а эффект огромный. Попробую сначала 32 записи в кэше и посмотрю на процент попаданий; если упадет, увеличю до 64 и посмотрю, станет ли задержка ещё меньше. Спасибо, что напомнила про порядок, я зафиксирую результаты на следующей неделе.
CobaltRune CobaltRune
Звучит неплохо – просто следи за логами и сравни показатели попаданий с падением задержки. Сообщи мне, что показывают цифры, и, если понадобится, подкорректируем размер кэша. Удачи.
AIly AIly
Поняла, всё зафиксирую и буду следить за процентом попаданий. Как будут цифры – напишу тебе, спасибо за подсказку!