[英]Memoize Python Garbage Collection
如果我使用memoize
裝飾器,例如類似於:
https://wiki.python.org/moin/PythonDecoratorLibrary#Memoize
我是否需要擔心耗盡內存並需要手動垃圾收集? 例如,如果我有一個長期運行的Python進程不斷記憶,我不需要確定dict
不會太大。 memoize
裝飾器通常還需要進行緩存驅逐嗎?
為什么這不是一個可以容納任意數量的中間狀態的裝飾器的問題?
使用functools
的lru_cache
會解決這個問題嗎?
您鏈接的memoized
裝飾器對內存使用沒有限制,也不會進行緩存驅逐。 所以是的,如果你繼續使用不同的參數調用函數,你必須擔心內存不足。
functools.lru_cache(n)
不會在緩存中存儲多於n
調用 - 這非常適合限制內存使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.