Ich habe jetzt mal die Geschwindigkeit von TMemIniFile beim Schreiben überprüft.
Getestet habe ich in verschiedenen Konstellationen, aber nachfolgend beispielhaft eine Variante mit Schreiben von 1000 Werten, die jeweils aus 30 zufälligen Zeichen bestehen.
Delphi-Quellcode:
var
ini : TMemIniFile;
i : Integer;
LogDateStart : TDateTime;
begin
LogDateStart := Now;
ini := TMemIniFile.Create(txtFileName.Text);
try
for i := 0 to rbgValues.Tag-1 do
ini.WriteString(txtSection.Text+IntToStr(i), txtIdent.Text+IntToStr(i), RandomPassword(30));
ini.UpdateFile;
finally
ini.Free;
end;
memLog.Lines.Add('MEM (' + IntToStr(rbgValues.Tag) +'): '+FormatDateTime('ss:zzz',LogDateStart-Now)+'sec');
Code:
-> In der Ausgangslage ist keine Ini-Datei vorhanden
MEM (1000): 00:163sec
MEM (1000): 00:035sec
MEM (1000): 00:024sec
MEM (1000): 00:033sec
-> Hier Ini-Datei gelöscht
MEM (1000): 00:161sec
MEM (1000): 00:023sec
MEM (1000): 00:015sec
MEM (1000): 00:021sec
Dass noch andere Faktoren hineinspielen, die sich auf die Dauer bei der Genauigkeit auswirken, ist natürlich klar. Aber dass der Speichervorgang ohne Ini ein vielfaches länger dauert als mit vorhandener Datei, ist meiner Meinung nach doch sehr bezeichnend.