(Moderator)
Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
Delphi 2007 Enterprise
|
Re: IniFile zu langsam
12. Nov 2005, 10:29
Hab ich (siehe 'Filestream'). Das ist so gut wie binär, denn irgendwie muss man ja auch die Schlüsselinformation (Section, Name) ablegen. Der zusätzliche Overhead, um die Sachen auch schnell wiederzufinden (TStringDictionary) fällt aber sowieso nicht ins Gewicht.
Man muss dazusagen, das TBigIni ganz nett ist, aber (so wie es der Autor schreibt) nicht optimal. Immerhin schreibt es nicht jede Änderung direkt auf die Platte, wie das TIniFile (gottseidank) tut. Aber man sieht eben auch, das die von Borland bereitgestellten Klassen alles Andere als optimal implementiert sind. Selbst die THashedStringList, die beim TMemIniFile zum Einsatz kommt (wenn ich nicht irre), ist nicht berauschend.
TBigIni benutzt einen einfachen Trick, um schnell zu werden: Es geht zurecht von der Annahme aus, das man die [Section,Name] Tupel nicht wahllos verwendet, sonder i.A. alle Werte einer Section hintereinander schreibt, es entfällt dann die Suche nach den Sections. So genau hab ich mir den jetzt aber nicht angeschaut.
Grundsätzlich ist es aber wirklich so, das man Ini-Files nicht für Tausende von Einstellungen nehmen sollte. Ich würde das dann auch einfach in eine Collection packen und die dann wegstreamen, schon der Ästhetik wegen.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
|