Caching.
This commit is contained in:
parent
c1eeacc0b4
commit
21ab5628b0
17
src/snek/system/cache.py
Normal file
17
src/snek/system/cache.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
import functools
|
||||||
|
|
||||||
|
cache = functools.cache
|
||||||
|
|
||||||
|
def async_cache(func):
|
||||||
|
cache = {}
|
||||||
|
|
||||||
|
@functools.wraps(func)
|
||||||
|
async def wrapper(*args):
|
||||||
|
if args in cache:
|
||||||
|
return cache[args]
|
||||||
|
result = await func(*args)
|
||||||
|
cache[args] = result
|
||||||
|
return result
|
||||||
|
|
||||||
|
return wrapper
|
Loading…
Reference in New Issue
Block a user