VD>Поиск по файлам системы. Пришлось отсекать первую тысячу в выдаче. Если бы в гриде поддерживалась виртуализация, и это же поддерживали коллекции не пришлось делать отсечения и прочих приседаний.
По поводу виртуализации был вопрос:
https://github.com/IgorBuchelnikov/ObservableComputations/discussions/11
Кратко: ObservableComputations это не про виртуализацию.
Хотя есть оператор Paging, может пригодится
VD>Это понятно. Но когда люди выбирают некую либу для использования, то выбирают (в том числе) отталкиваясь от минимума ограничений.
Здесь сложно сказать о каких-либо ограничениях. Данных может не много, но вычисление может быть сложное, а данные будут меняться часто и многопоточные вычисления по каким-то причинам не подходят. Упомянутый DynamicTrader при 50000 уже тормозит
IB>>Любые дополнительные расходы памяти по сравнению с операторами LINQ? Они конечно есть.
VD>А почему "конечно". В тории их быть не должно.
Объясняю. Каждый оператор ObservableComputations делает материализацию.
Если в вычислении несколько операторов в цепочке,
будет несколько материализаций + внутренние служебные коллекции.
Знаю это не есть хорошо. Но даже при таком подходе алгоритмы достаточно сложные (сам не ожидал).
В теории можно сделать 1 материализацию на всё вычисление состоящее из нескольких операторов, через генерацию кода. Но это будет сложно. Ещё нужно учитывать, что могут быть вложенные операторы (в предикат, в селектор).
Пока вдохновения делать такое нет, так как к текущему проекту интереса мало. Но я не жалею, получил удовольствие от кодинга.