Zitat von
alzaimar:
Ich habe den Quicksearch-Algorithmus verwendet, einen vereinfachten Boyer-Moore. BM ist -in Delphi implementiert- nicht schnell genug (zuviel overhead), und da ich kein
ASM verwende (zu blöd), hab ich eben den QS mit einer Optimierung von Raita implementiert.
Zu "BM ist zu langsam" hätte ich mal ne Frage. Klar, die Preprocessing-Phase ist bei BM etwas aufwendig und frickelig (zumindest der Good-Suffix-Part [in der Original-Literatur ist der Teil sogar falsch
]), aber könnte man das in diesem Fall nicht so anpassen, dass das Preprocessing einmalig durchgeführt wird, und diese Tabellen für alle Suchen in den kleinen Strings benutzt werden? Das würde den Overhead doch deutlich senken, oder?
Oder gibts da nochwas, was ich übersehen habe?