import timeit def make_setup_string(num): string = "import efficient_fibonacci as fib\n" string += f"num = {num}" return string def main(): print("\nLinear testing started") for num in range(15, 91, 15): # We test 15, 30, 45, 60, 75, 90 as inputs comp_time = timeit.timeit('fib.linear_fibonacci(num)', setup=make_setup_string(num)) print(f'\nLinear fibonacci calculation for n={num} took {comp_time} seconds') print("\nLogarithmic testing started") for num in range(15, 91, 15): # Again, test 15, 30 ... 90 as inputs comp_time = timeit.timeit('fib.log_fibonacci(num)', setup=make_setup_string(num)) print(f'\nLogarithmic fibonacci calculation for n={num} took {comp_time} seconds') print() if __name__ == '__main__': main()