с асинхротой все файлы открываются параллельно и это убивает систему, выедая ресурсы.
Тут надо именно последовательно. Получить все файлы в папке и по одному обрабатывать в цикле.
Теоретически, можно распараллелить в N потоков, где N число ядер процессора.
во-первых, это не ответ. Лучше новый вариант кода вставить в сам вопрос, отредактировав его.
Кроме того, хорошо прятать длинный код в тег <spoiler>.
Песочница, где с вашим кодом смогут работать и другие - например, jsFiddle. Этюды jsFiddle можно вставлять и сюда прямо в вопрос/ответ, и тут же можно будет их запустить. Кнопка большой «+»
По сути вопроса. Бинарный поиск это предположение варианта точно по середине, и сокращение диапазона поиска на одну из двух половин. В вашем коде это кроде бы отсутствует.
вариант 0:
(самостоятельно) обойти популярные международные сервисы объявлений и посмотреть, какие решения по защите номеров применяются у них. Проанализировать их сильные и слабые стороны. Составить сравнительную таблицу.
Тут надо именно последовательно. Получить все файлы в папке и по одному обрабатывать в цикле.
Теоретически, можно распараллелить в N потоков, где N число ядер процессора.