Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

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

Re: Große Strings schnell auf Inhalt einer Zeichenkette prüf

  Alt 17. Okt 2005, 18:34
Wenn Du statt einer Stringlist einfach einen String nimmst (und nicht einfach sl.Text verwenden, weil lahm), dann sollte Boyer-Moore deinen Anforderungen genügen. Wenn der String nur am Anfang einer Zeile stehen kann, wäre eventuell eine individueller Algorithmus schneller. Allerdings berücksichtigt Boyer-Moore auch diesen Sonderfall (man sucht dann einfach nach "#10#13FooBar").

Besorge Dir FastStrings.Pas von hier
http://www.droopyeyes.com/default.as...owProduct&ID=4

Alternativ empfehle ich mein TStringDictionary, eine dynamische Hashliste. Es fügt 100.000 Strings inkl. überprüfung in 600ms ein. TStringList ist 2-100x langsamer (je mehr Strings, desto schlimmer). Dafür verzichtest Du auf eine Sortierung. Wenn Dir das schnurz ist, verwende mein Wörterbuch.
Angehängte Dateien
Dateityp: pas csdictionary_200.pas (11,1 KB, 80x aufgerufen)
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat