Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.214 Beiträge
 
Delphi 12 Athens
 
#2

Re: TStringlist, THashedStringlist gibts nichts schnelleres?

  Alt 23. Mär 2010, 12:41
Zitat von Franzelchen:
Ich meine die Funktionen .LoadfromFile .SavetoFile
Nein, denn überall muß die Datei eingelesen, zerlegt und die Strings im "RAM" abgelegt werden.
Und bei der THashedStringList muß zusätzlich noch pro String ein Hash beechnet werden.

.Strings[i] ist bei der "normalen" StringList oder bei einem Array am schnellsten, da man dort direkt via Index zugreifen kann.
Bei der HashedStringList, SkipList und ihren Verwandten kommt es dann darauf an, ob neben der HashMap auch noch eine Index-Liste existiert.

Das schnellste LoadfromFile wäre alles in EINEN String oder einen MemoryStream zu lesen, aber dann gibt es keinen Index und man kann nicht direkt via .Strings[i] zugreifen.

PS: Wenn nur via .Strings[i] zugegriffen wird, dann ist die THashedStringList vollkommen überflüssig, weil sie auf eine Stringsuche ausgelegt ist und nicht für einen Indexzugriff.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat