Hosted with nbsanity. See source notebook on GitHub.

from fastcore.xtras import timed_cache
from functools import lru_cache
from random import randint
@lru_cache(maxsize=2)
def lru_func(v): 
    return randint(1, 1000)

@timed_cache(maxsize=2)
def timed_func(v): 
    return randint(1, 1000)
assert lru_func(1) == lru_func(1)
assert lru_func(2) == lru_func(2)
assert lru_func(3) == lru_func(3)
assert lru_func(1) == lru_func(1)
assert timed_func(1) == timed_func(1)
assert timed_func(2) == timed_func(2)
assert timed_func(3) == timed_func(3)
assert timed_func(1) == timed_func(1)
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
Cell In[1], line 3
      1 assert timed_func(1) == timed_func(1)
      2 assert timed_func(2) == timed_func(2)
----> 3 assert timed_func(3) == timed_func(3)
      4 assert timed_func(1) == timed_func(1)

AssertionError: 
AssertionError: 
Traceback (most recent call last):

  File "/usr/local/lib/python3.11/site-packages/IPython/core/interactiveshell.py", line 3667, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)

  File "<ipython-input-1-a6e3e0c59f0b>", line 3, in <module>
    assert timed_func(3) == timed_func(3)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

AssertionError