Pythonデコレータ キャッシュ
By hientd, at: 2023年5月2日18:00
Estimated Reading Time: __READING_TIME__ minutes
![[Python Decorators] Cache](/media/filer_public_thumbnails/filer_public/55/9d/559d12a6-7bf0-46d3-b089-88bd4008a194/python_decorators_-_cache.png__1500x900_crop_subsampling-2_upscale.png)
![[Python Decorators] Cache](/media/filer_public_thumbnails/filer_public/55/9d/559d12a6-7bf0-46d3-b089-88bd4008a194/python_decorators_-_cache.png__400x240_crop_subsampling-2_upscale.png)
キャッシュデコレータ
Pythonのcache
デコレータは、高コストな関数呼び出しの結果を保存し、同じ入力が再び発生したときにキャッシュされた結果を返すことで、パフォーマンスを最適化するのに役立ちます。これは、同じ引数で頻繁に呼び出される関数に特に役立ちます。
cache
デコレータの使用方法を次に示します。
from functools import cache
@cache
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
print(fib(10)) # 出力: 55
説明
- @cache: このデコレータは、デコレートされた関数の結果を自動的にキャッシュします。
- fib関数: キャッシングによって冗長な計算が回避されるため、メリットのある単純なフィボナッチ関数です。
利点
- パフォーマンス: 高コストな関数や頻繁に呼び出される関数の計算時間を短縮します。
- 効率性: 繰り返し計算を回避することでリソースを節約します。
ユースケース
- 数学的計算: 重複する部分問題を持つ重い計算を実行する関数。
- API: ロードとレイテンシを削減するためにAPIレスポンスをキャッシュします。
結論
cache
デコレータを使用すると、高コストな関数呼び出しの結果をキャッシュすることで、Pythonアプリケーションのパフォーマンスを大幅に向上させ、コードをより効率的で高速にすることができます。
当社のデコレータをご覧ください。