Лучше фильтровать поток данных в начале или конце?
-
06-07-2019 - |
Вопрос
Я работаю над проектом, в котором мне нужно обработать огромное количество файлов (CSV) (несколько гигабайт).
Что я в основном делаю, так это:
<Ол>Мне интересно, будет ли лучше фильтровать на стороне источника, например У каждого слушателя есть связанный объект Predicate, который определяет, должен ли данный фрагмент данных быть отправлен слушателю, и в этом случае процесс будет больше похож на
<Ол>Чистый эффект тот же, вопрос только в том, где происходит фильтрация. Р>
(Опять же, единственная причина, по которой у меня есть этот «поток» данных, который я обрабатываю по одной записи за раз, заключается в том, что я имею дело с гигабайтами файлов CSV, и я не могу создать коллекцию, отфильтровать ее и тогда разберитесь с этим - мне нужно фильтровать, как я иду)
Решение
Если стоимость звонка для слушателя не слишком велика (Remoting, WCF, ...), я бы оставался с очень простым интерфейсом и позволял слушателю решать, что делать со строкой.