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.