记下Python垃圾回收

2024-05-19 23:02:45 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我使用memoize装饰器,例如类似于中的:

https://wiki.python.org/moin/PythonDecoratorLibrary#Memoize

我是否需要担心内存不足并需要手动进行垃圾收集?例如,如果我有一个长时间运行的Python进程不断地进行记忆,我不需要确保dict不会太大吗。memoize装饰器通常也需要执行缓存收回吗?在

为什么所有可以保存任意数量的中间状态的decorator不存在这个问题?在

使用来自functoolslru_cache可以解决这个问题吗?在


Tags: 记忆httpsorg数量进程wiki装饰手动
1条回答
网友
1楼 · 发布于 2024-05-19 23:02:45

您链接的memoized修饰符没有内存使用限制,并且不执行缓存逐出。所以是的,如果你一直用不同的参数调用函数,你必须担心内存不足。在

functools.lru_cache(n)将不会在缓存中存储超过n的调用-这非常适合限制内存使用。在

相关问题 更多 >