How does Lru_cache (from functools) Work?
Especially when using recursive code there are massive improvements with lru_cache . I do understand that a cache is a space that stores data that has to be served fast and saves the computer from recomputing. How does the Python lru_cache from functools work internally? I'm Looking for a specific answer, does it use dictionaries like the rest of Python? Does it only store the return value? I know that Python is heavily built on top of dictionaries, however, I couldn't find a specific answer to this question. Hopefully, someone can simplify this answer for all the users on StackOverflow .