Если вы знаете что-то конкретное о файле, могут быть более быстрые алгоритмы.
Например, если файл содержит много повторяющихся символов / шаблонов и вам нужно выполнить большое количество поисков, вы можете попробоватьс использованием суффикс-деревьев: http://marknelson.us/1996/08/01/suffix-trees/
В зависимости от вашего файла и количества запросов, необходимых для этого одного файла, ответ на самый быстрый алгоритм поиска может измениться.