Einzelnen Beitrag anzeigen

CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#43

AW: Ini-Inhalt geht in sehr seltenen Fällen verloren (TMemIniFile)

  Alt 12. Jan 2016, 01:01
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.
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat