Re[8]: Observable calculations
От: igor-booch Россия  
Дата: 21.02.22 14:40
Оценка: 78 (1)
VD>Поиск по файлам системы. Пришлось отсекать первую тысячу в выдаче. Если бы в гриде поддерживалась виртуализация, и это же поддерживали коллекции не пришлось делать отсечения и прочих приседаний.
По поводу виртуализации был вопрос: https://github.com/IgorBuchelnikov/ObservableComputations/discussions/11
Кратко: ObservableComputations это не про виртуализацию.
Хотя есть оператор Paging, может пригодится

VD>Это понятно. Но когда люди выбирают некую либу для использования, то выбирают (в том числе) отталкиваясь от минимума ограничений.

Здесь сложно сказать о каких-либо ограничениях. Данных может не много, но вычисление может быть сложное, а данные будут меняться часто и многопоточные вычисления по каким-то причинам не подходят. Упомянутый DynamicTrader при 50000 уже тормозит

IB>>Любые дополнительные расходы памяти по сравнению с операторами LINQ? Они конечно есть.

VD>А почему "конечно". В тории их быть не должно.
Объясняю. Каждый оператор ObservableComputations делает материализацию.
Если в вычислении несколько операторов в цепочке,
будет несколько материализаций + внутренние служебные коллекции.
Знаю это не есть хорошо. Но даже при таком подходе алгоритмы достаточно сложные (сам не ожидал).
В теории можно сделать 1 материализацию на всё вычисление состоящее из нескольких операторов, через генерацию кода. Но это будет сложно. Ещё нужно учитывать, что могут быть вложенные операторы (в предикат, в селектор).
Пока вдохновения делать такое нет, так как к текущему проекту интереса мало. Но я не жалею, получил удовольствие от кодинга.
http://rsdn.ru/Info/rules.xml
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.