У мене величезний файл / etc / hosts з 18 000 рядків. Я використовую це для блокування рекламодавців і подібних. Моя ефективність перегляду здається прекрасною, але мені цікаво, чи є якийсь розмір, при якому я почну сповільнювати себе? Як ОС зберігає файл хостів під час роботи? Я можу придумати безліч способів - від повільного до швидкого, і моє апріорне припущення полягає в тому, що з ним керують ефективно, оскільки він є настільки важливим для мереж. Ось кілька способів, які я можу придумати, від простих до складніших:
- Читайте з файлу кожен раз, коли це потрібно.
- Прочитайте один раз
- лінійний пошук
- сортування, а потім двійковий пошук
- використовувати трійку
- використовувати хеш, але як це мінімізує зіткнення
Існує маса способів, які здаються розумними. Що насправді використовується?
Схоже, на це питання, мабуть, вже десь відповіли, тому вказівки на існуючий ресурс вітаються. Я виглядав, але, можливо, не в потрібному місці.
/etc/hosts
, а скоріше libc.