【发布时间】:2017-11-10 10:04:53
【问题描述】:
我有一个运行缓慢的 python 程序。我使用@lru_cache(maxsize=2056) 装饰器添加了缓存以增加我的进程的缓存,但是当我运行我的代码时,我的程序消耗的内存在任务管理器中是 260 MB(不是 2 GB)。这是不允许高缓存的Windows 10的限制吗? 我使用 eclipse luna + pydev 运行我的代码。我的python版本是3.5。
【问题讨论】:
-
Cache只需要260,为什么还要分配2056MB?这是缓存不应超过的最大大小。
-
是的,也许是这个原因。但是我的代码速度没有增加,而这段代码在另一个系统中运行只需 2 分钟
-
不相关的建议。确保 maxsize=2^x 其中 x 是一个正整数。当 maxsize 是 2 的幂时,lru_cache 的效果要好得多(但我不确定确切的原因)。
标签: python-3.x windows-10