В общем пишу функцию поиска (не на VB), критическую по времени (поиск в огрооооомном файле на меееедленном устройстве). Задача в следующем -- есть строка текста (не очень большая -- где-то до 150 символов). Есть строка для поиска (слова, разделённые пробелом). Слова в ней объединяются логикой "И". Т.е. совпадение найдено, только если все фрагменты найдены в строке.
Сейчас алгоритм довольно немудрёный -- строка разбивается по пробелу самописным сплитом. Далее проверяется наличие вхождения каждого из элементов полученного массива в данную строку, если всё совпало, то выводим результат. Это можно оптимизировать выходом из цикла проверки сразу же, если что-то не совпало (сейчас этого нет ).
Ещё критическим по времени является получение строк из файлов по символу, а так же проблема с кодировкой и отсутствием функции, приводящей кирилические символы к одному регистру (надо для сравнения строк).
Для полного понимания предыстория и обсуждение тут.
У кого-нибудь будут хоть какие-нибудь советы для оптимизации алгоритма? Для меня важна каждая секунда .