Мне нужно прочитать большой разделенный пробелами текстовый файл и посчитать количество экземпляров каждого кода в файле. По сути, это результаты проведения некоторых экспериментов сотни тысяч раз. Система выдает текстовый файл, который выглядит примерно так:
A7PS A8PN A6PP23 ...
И есть буквально сотни тысяч этих записей, и мне нужно сосчитать вхождения каждого из кодов.
Полагаю, я мог бы просто открыть StreamReader
и проходить построчно, разбивая символ пробела. Посмотрим, встречался ли код, и добавив 1 к счетчику этого кода. Однако это, вероятно, довольно наивно, учитывая размер данных.
Кто-нибудь знает эффективный алгоритм для обработки такого рода обработки?
ОБНОВЛЕНИЕ:
ОК, так что консенсус, кажется, мой подход в правильном направлении
Мне было бы интересно услышать такие вещи, как - что более эффективно - StreamReader. TextReader, BinaryReader
Какова лучшая структура для хранения моего словаря результатов? HashTable, SortedList, HybridDictionary
Если нет разрывов строк в файле (мне еще не дали образец), будет просто неэффективно разбивать все это на пробел?
По сути, я стремлюсь сделать его максимально быстрым
еще раз спасибо