У меня есть программа, которая записывает выходные данные, когда она заканчивается, и определенный файл занимает очень много времени, и мне было интересно, могу ли я что-то сделать, чтобы улучшить его скорость.
Этот файл заканчивается тем, что он составляет 25 мб или более он имеет около 17000 строк, каждая строка имеет около 500 полей
как он работает:
procedure CWaitList.WriteData(AFile : string; AReplicat : integer; AllFields : Boolean);
var
fout : TextFile;
idx, ndx : integer;
MyPat : CPatientItem;
begin
ndx := FList.Count - 1;
AssignFile(fout, AFile);
Append(fout);
for idx := 0 to ndx do
begin
MyPat := CPatientItem(FList.Objects[idx]);
if not Assigned(MyPat) then Continue;
MyPat.WriteItem(fout, AReplicat, AllFields);
end;
CloseFile(fout);
end;
WriteItem - это процедура, которая получает все значения из MyPat и записывает их в файл, а также вызывает 3 других функции, которые также записывают значения в файл
так что в целом цикл WriteData заканчивается около 1700, и каждая строка заканчивается тем, что имеет около 500 полей
Мне просто интересно, есть ли что-нибудь, что я мог бы сделать, чтобы улучшить его производительность, или, если это будет длиться долго, из-за того, сколько данных ему нужно написать
спасибо