Покажу вам готовый декоратор cache модуля functools Python. Он сохраняет результат, учитывая входные параметры функции. Ваша функция будет работать достаточно быстро если возникают повторения комбинаций входных параметров. Вы можете самостоятельно написать подобную функцию и сохранять результат в redis или memcached.
#!/usr/local/bin/python
import time
from functools import cache
@cache
def sum_test(x, y):
time.sleep(1)
result = x**y
return result
print(sum_test(200, 300))
print(sum_test(200, 400))
print(sum_test.cache_info())
print(sum_test(200, 300))
print(sum_test(200, 300))
print(sum_test(200, 400))
print(sum_test(200, 400))
# sum_test.cache_clear()
print(sum_test.cache_info())
"""
...
CacheInfo(hits=0, misses=2, maxsize=None, currsize=2)
...
CacheInfo(hits=4, misses=2, maxsize=None, currsize=2)
"""