Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # https://www.geeksforgeeks.org/timeit-python-examples/
- # compute dict_version time
- def dict_version(n):
- SETUP_CODE = '''
- n = {}
- '''.format(n)
- TEST_CODE = '''
- def fibonacci(n):
- base = {0: 0, 1: 1}
- for i in range(2, n + 1):
- base[i] = base[i-2] + base[i-1]
- return base[n]
- fibonacci(n)
- '''
- # timeit.timeit statement
- times = timeit.timeit(setup = SETUP_CODE,
- stmt = TEST_CODE,
- number = 1000)
- # printing minimum exec. time
- print("dict time for n = {} is {:.3f} (1000 runs)".format(n, times))
- return times
- # compute tuple_version time
- def tuple_version(n):
- SETUP_CODE = '''
- n = {}
- '''.format(n)
- TEST_CODE = '''
- def fib(n):
- a, b = 0, 1
- while n > 0:
- a, b = b, b + a
- n -= 1
- return a
- fib(n)
- '''
- # timeit.timeit statement
- times = timeit.timeit(setup = SETUP_CODE,
- stmt = TEST_CODE,
- number = 1000)
- # printing minimum exec. time
- print("tuple time for n = {} is {:.3f} (1000 runs)".format(n, times))
- return times
- if __name__ == "__main__":
- import timeit
- comp_dict = {}
- inputs = [50, 100, 200, 400, 800, 1600]#, 3200, 6400]
- for i in inputs:
- comp_dict[i] = [0,0]
- for i in [50, 100, 200, 400, 800, 1600]:#, 3200, 6400]:
- comp_dict[i][0] = dict_version(i)
- comp_dict[i][1] = tuple_version(i)
- print("*************")
- print(comp_dict)
- print()
- print(" Comparison of time (in seconds) taken\n for each of two methods of computing fib(n),\n 1000 runs at each n.")
- print(" {:10} {:10} {:10}".format("n", "dict time", "tuple time"))
- print(" ****************************")
- for i in comp_dict:
- print("{:10} {:10.4f} {:10.4f}".format(i, comp_dict[i][0], comp_dict[i][1]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement