1 (изменено: romzes96, 2019-03-05 18:43:11)

Тема: AHK: Парсинг txt большого объёма

Здравствуйте не подскажите как можно оптимизировать данный скрипт?

+ открыть спойлер
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetBatchLines, -1
SetMouseDelay, -1
SetKeyDelay, -1
#MaxMem 999999999


FileRead, count_link, %A_ScriptDir%\500к.txt
Loop, parse, count_link, `n, `r
{
	If (A_LoopField != "")
		Num++
}
While (%A_Index% <= Num)
{
	FileReadLine, koef, %A_ScriptDir%\500к.txt, %A_Index%
	If (koef < 2)
		lowK++
	If (koef >= 2)
		bigK++
}

MsgBox, %Num% Всего коэфов`nИз них %lowK% меньше 2`nИз них %bigK% больше 2

Проблема в том что это очень долго для файла в 500000 строк...
Сегодня так сказать "парсил" чуть больше часа.
Может быть я вообще не правильно подошел к данной задаче?

2 (изменено: Phoenixxx_Czar, 2019-03-05 18:56:24)

Re: AHK: Парсинг txt большого объёма

lowK := 0
bigK := 0

Loop, Read, 500к.txt
{
	if (A_LoopReadLine < 2)
		lowK++
	else
		bigK++
}
msgbox, % "Всего коэфов: " bigK + lowK "`nИз Них " lowK " меньше 2`nИз них " bigK " больше 2"

3

Re: AHK: Парсинг txt большого объёма

romzes96 пишет:

Сегодня так сказать "парсил" чуть больше часа.
Может быть я вообще не правильно подошел к данной задаче?

К какой задаче?

4

Re: AHK: Парсинг txt большого объёма

ypppu проверка большого текстового документа, она же история коэффициентов на количество коэффициентов привышающих определенное значение.