Имам списък от ок. 500 000 струни, всяка прибл. Дължина 100 знака. При даден термин за търсене искам да идентифицирам всички низове в списъка, които съдържат термина за търсене. В момента правя това с обикновен стар набор от данни, използвайки метода Select ("MATCH %term%"). Това отнема около 600ms на моя лаптоп. Бих искал да го направя по-бързо, може би 100-200ms.
Какъв би бил препоръчителният подход?
Производителността е критична, така че мога да променя отпечатъка на паметта за по-добра производителност, ако е необходимо (в разумни граници). Списъкът с низове няма да се промени, след като бъде инициализиран, така че изчисляването на хешовете също би било опция.
Някой има ли препоръка и кои C# структури от данни са най-подходящи за задачата?
Regex
ще се опита да търси Boyer Moore за прости модели, напр. foobar. - person leppie   schedule 30.09.2011