Member-only story

Speeding Up Your Python Code with the cache Decorator from functools

Sravanth
4 min readJan 29, 2024

In the vast world of Python programming, efficiency and speed often dictate the success of a project. One of the hidden gems in achieving this is the cache decorator from the functools module. This powerful tool can drastically reduce execution time by avoiding redundant computations, making it a must-know for Python enthusiasts and professionals alike.

Understanding the Cache Decorator

The cache decorator is a simple yet effective tool that stores the results of function calls, enabling subsequent calls with the same arguments to fetch results from the cache rather than executing the function again. This is particularly useful for functions that perform heavy or repetitive computations.

How It Works

  1. Initial Call: On the first call with a set of arguments, the function executes as usual, and the result is cached.
  2. Subsequent Calls: For any repeat calls with identical arguments, the result is instantly retrieved from the cache, bypassing the function execution.

With vs With Out cache — Example

alternative to cache. Let's use lru_cache for this example:

import time
from functools import lru_cache

# Fibonacci without cache
def fibonacci_no_cache(n):
if n < 2:
return n
return fibonacci_no_cache(n-1) + fibonacci_no_cache(n-2)

# Fibonacci with lru_cache (as…

--

--

No responses yet