以下に最適化する必要がある非常に基本的なメモ化デコレータがあります。
def memoize(function):
memos = {}
def wrapper(*args):
try:
return memos[args]
except KeyError:
pass
result = function(*args)
memos[args] = result
return result
return wrapper
目標は、コール スタックに追加されないようにすることです。実際、今は倍増しています。これを関数ごとに埋め込むことができることはわかっていますが、メモ化のためのグローバルなソリューションが必要なため、これは望ましくありません。何か案は?