Jam*_*Lam 5 python garbage-collection
如果我使用一个memoize装饰器,例如类似于:
https://wiki.python.org/moin/PythonDecoratorLibrary#Memoize
我是否需要担心内存不足和需要手动垃圾收集?例如,如果我有一个长时间运行的 Python 进程,它不断地记忆,我不需要确保dict它不会变得太大。不要memoize装饰通常也需要做高速缓存收回?
为什么这不是所有可以保持任意数量中间状态的装饰器的问题?
使用lru_cachefrom 会functools解决这个问题吗?
您链接的装饰memoized器对内存使用没有限制,并且不会进行缓存驱逐。所以,是的,如果您继续使用不同的参数调用该函数,您就必须担心内存不足。
functools.lru_cache(n)不会n在缓存中存储超过调用的内容 - 这非常适合限制内存使用。
| 归档时间: |
|
| 查看次数: |
247 次 |
| 最近记录: |