Re: [Feature request] Memoize+state arg
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.12.16 22:47
Оценка: 46 (1) +1
Здравствуйте, Sinix, Вы писали:

S>Нашёлся сценарий, который не покрывается текущей реализацией Memoize:

S>нужно кэшировать тяжёлое вычисляемое значение, при этом процесс вычисления зависит от локального состояния, которое кэшировать нельзя.

Если зависит, значит функция нечистая, и корректность Memoize негарантирована.

S> Например, нужна запись в лог, но сам логгер не должен выступать ключом для Memoize.


Ну так передавать стейт через замыкание, не?

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

S>Проблемы:

S>* Под капотом придётся использовать ConcurrentDictionary, не LazyDiсtionary.

LazyDictionary в одной из своих реализаций это ConcurrentDictionary и есть
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.