Сейчас алгоритм довольно немудрёный -- строка разбивается по пробелу самописным сплитом. Далее проверяется наличие вхождения каждого из элементов полученного массива в данную строку, если всё совпало, то выводим результат. Это можно оптимизировать выходом из цикла проверки сразу же, если что-то не совпало (сейчас этого нет

Ещё критическим по времени является получение строк из файлов по символу, а так же проблема с кодировкой и отсутствием функции, приводящей кирилические символы к одному регистру (надо для сравнения строк).
Для полного понимания предыстория и обсуждение тут.
У кого-нибудь будут хоть какие-нибудь советы для оптимизации алгоритма? Для меня важна каждая секунда
