Timing using context managers
memoizing using decorators