У меня есть огромный файл /etc /hosts с 18 000 строк. Я использую это, чтобы заблокировать рекламодателей и тому подобное. Кажется, у меня неплохо работает браузер, но мне интересно, есть ли какой-нибудь размер, при котором я начну замедляться? Как ОС хранит файл hosts во время работы? Я могу придумать множество способов, от медленных до быстрых, и мое априорное предположение состоит в том, что он обрабатывается эффективно, так как он так важен для работы в сети. Вот несколько способов, которые я могу придумать, от простого к более сложному:
- Читайте из файла каждый раз, когда это необходимо.
- Читать один раз
- линейный поиск
- сортировка, затем бинарный поиск
- использовать три
- использовать хеш, но как это минимизирует коллизии
Есть много способов, которые кажутся разумными. Что на самом деле используется?
Похоже, что на этот вопрос где-то был дан ответ, так что ссылки на существующий ресурс приветствуются. Я посмотрел, но, возможно, не в нужном месте.