Быстрый поиск в файле.

Forfeit

Участник
Автор темы
69
12
Есть файл, допустим там 30к строк.
Мне нужно найти все совпадения в файле, но это занимает очень много времени, я использую:
Код:
Loop, Read, File
{
    IfInString, A_LoopReadLine, %MyText%
    {
        Pub++
    }
    else
    {
        Prv++
    }
}
Как можно сделать это быстрее?
 

Cucumber

Участник
40
21
Как можно сделать это быстрее?
Никак. Если только перейти на другой язык программирования. Еще один из вариантов - сменить процессор для более быстрой обработки данных.
А вообще можешь попробовать такой код:
C++:
InputFile := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"
OutputFile := A_MyDocuments "\GTA San Andreas User Files\SAMP\qu.txt" 
word := "rDJ"

lineNumber := 0
loop
{
   FileGetSize, size, %InputFile%
   if (size > sizePrev)
   {
      sizePrev := size
      loop
      {
         FileReadLine, readLine, %InputFile%, % A_Index + lineNumber
         if ErrorLevel
         {
            if (NewLines != "")
            {
               FileAppend, %NewLines%, %OutputFile%
               NewLines := ""
            }
            lineNumber += A_Index - 1
            break
         }
         if InStr(readLine, word)
            NewLines .= readLine "`n"
      }
   }
}