タグ

lru_cacheとhashableに関するishideoのブックマーク (1)

  • Python で Memoize する方法 - Qiita

    はじめに Python で Memoize (Memoization / メモ化) する方法をお伝えします。 ※「Memoize」は「Memoization」や「メモ化」ともいいます。 Memoize とは Memoize とは、キャッシュを用いて関数呼び出しを高速化する手法のことです。関数呼び出し時の引数をキーとして戻り値をキャッシュし、同じ引数で呼び出された場合にキャッシュした値を返す (関数呼び出しを省略する) ことで高速化します。 Memoize の効果が高い場合 関数が以下の特徴を持つときは、Memoize することで大きな効果を期待できます。 関数が同じ引数で何度も呼び出される 関数呼び出し 1 回あたりのコストが高い (実行時間が長い) 例としてフィボナッチ数を求める再帰関数を定義します。引数 n の値が大きくなるほど、関数 fibonacci は同じ引数で何度も呼び出されま

    Python で Memoize する方法 - Qiita
  • 1