Files
Mastering-Python-2e-code_2/CH_12_performance/T_03_profile_fibonacci.py
T
2022-05-05 18:25:55 +02:00

27 lines
428 B
Python

import sys
import functools
@functools.lru_cache()
def fibonacci_cached(n):
if n < 2:
return n
else:
return fibonacci_cached(n - 1) + fibonacci_cached(n - 2)
def fibonacci(n):
if n < 2:
return n
else:
return fibonacci(n - 1) + fibonacci(n - 2)
if __name__ == '__main__':
n = 30
if sys.argv[-1] == 'cache':
fibonacci_cached(n)
else:
fibonacci(n)