Use
from persistent_cache import cache
@cache
def expensive_function(..):
..
to cache the result of a function
The cache key for the result is determined by:
- the function signature
- the implementation of the function
- the values of the function arguments
- custom transformations/reductions can be specified
Advantages compared to existing solutions:
- the cache in invalidated when the behavior of the function changes
- Each cache value is saved to a separate location. Only values that are effectively needed are loaded.
- works with function arguments of any complex data type.
- configurable: custom transformations/reductions can be specified based on the object type.
- 3 custom transformation groups available out-of-the-box:
- from persistent_cache import cache
- from persistent_cache.caches.deep_learning import cache
- from persistent_cache.caches.speedup_deep_learning import cache`
pip install persistent-function-cache