Высокая производительность «содержит» поиск в списке строк в C #

У меня есть список ок. 500 000 строк, каждая ок. 100 символов в длину. По заданному поисковому запросу я хочу идентифицировать все строки в списке, которые содержат поисковый запрос. В настоящее время я делаю это с простым старым набором данных, используя метод Select («MATCH% term%»). Это занимает около 600 мс на моем ноутбуке. Я хотел бы сделать это быстрее, может быть, 100-200 мс.

Какой будет рекомендуемый подход?

Производительность имеет решающее значение, поэтому я могу поменять объем памяти для повышения производительности, если это необходимо (в пределах разумного). Список строк не изменится после инициализации, поэтому расчет хэшей также будет возможен.

У кого-нибудь есть рекомендации и какие структуры данных C # лучше всего подходят для этой задачи?

Ответы на вопрос(7)

Ваш ответ на вопрос