如果我使用memoize
装饰器,例如类似于中的:
https://wiki.python.org/moin/PythonDecoratorLibrary#Memoize
我是否需要担心内存不足并需要手动进行垃圾收集?例如,如果我有一个长时间运行的Python进程不断地进行记忆,我不需要确保dict
不会太大吗。memoize
装饰器通常也需要执行缓存收回吗?在
为什么所有可以保存任意数量的中间状态的decorator不存在这个问题?在
使用来自functools
的lru_cache
可以解决这个问题吗?在
Tags:
您链接的
memoized
修饰符没有内存使用限制,并且不执行缓存逐出。所以是的,如果你一直用不同的参数调用函数,你必须担心内存不足。在functools.lru_cache(n)
将不会在缓存中存储超过n
的调用-这非常适合限制内存使用。在相关问题 更多 >
编程相关推荐