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/