We have a couple of weak caches In our system, so I see the use case.

I don’t like the idea of silently reverting to a strong ref though. I’ve had 
bad experiences with systems that try to be too helpful in this manner. It 
seems like a good idea until it becomes a big problem, and then you have 
interesting debates about who’s fault it is. 

Irit

> On 15 Oct 2020, at 18:53, Ram Rachum <r...@rachum.com> wrote:
> 
> 
> Hi everyone,
> 
> For many years, I've used a `cache` decorator that I built for caching Python 
> functions. Then `functools.lru_cache` was implemented, which is much more 
> standard. However, as far as I know, it holds normal references to its keys, 
> rather than weak references. This means that it can cause memory leaks when 
> it's storing items that don't have any references elsewhere. This often makes 
> me reluctant to use it. 
> 
> What do you think about supporting weakrefs in for keys lru_cache?
> 
> If I remember correctly, the main difficulty was that not all keys are of a 
> type that can be weakreffed. If I remember correctly again, I've solved this 
> by including logic that attempts a weakref when possible, and degrades to a 
> strong ref. What do you think about that? 
> 
> 
> Thanks,
> Ram.
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at 
> https://mail.python.org/archives/list/python-ideas@python.org/message/Q6DT72QLFRE23Z7DT3B6KYKQEOC4R6KO/
> Code of Conduct: http://python.org/psf/codeofconduct/
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/GY33UC6HPOUJRQV57SUUDGZZAYYD2ZZT/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to