Thema: Delphi IniFile zu langsam

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#16

Re: IniFile zu langsam

  Alt 12. Nov 2005, 10:05
Zitat von r4id3n:
@alzaimar:
Wenn Ini-Dateien aber über 42 kb groß werden, werden diese unendlich langsam! Das ist ein bekanntes Problem!
Das Zauberwort heißt wirklich nur TBigIni....
[edit]Das ist kein Problem, sondern in der Tatsache begründet, das TIniFile alle Änderungen per definitionem sofort auf die Platte schreibt. "It's not a bug, it's a feature".[/edit].
Und das Zauberwort heisst sicherlich nicht TBigIni, sondern z.B. 'TFileStream' oder Ähnliches.
  • TIniFile = Richtig langsam
    TBigIniFile = Na ja
    TFileStream = Schnell
Ich hab mal ein Testprogramm (5000 Sections mit je 10 Werten) geschrieben. Hier meine Ergebnisse:
  • BigIni File : 14001 ms
    FastIniFile : 780 ms
    Filestream : 641 ms
TMemIniFile und TIniFile scheiden aus, denn sie sind immer noch nicht fertig .

FastIniFile hab ich eben selbst geschrieben (es basiert auf einer TStringdictionary). Filestream schreibt die Werte als 'Section-Name=Value' in die Datei.

Natürlich ist TBigIni ausreichend, aber was ich meinte, ist das es schon befremdlich ist, sich bei 3GHZ-Rechnern über eine Performance von 1000mszu freuen, um lächerliche 10000 Strings abzuspeichern. Und wie man oben sieht, ist TBigIniFile dann auch irgendwann mal Schrott.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat