Question: Define a decorator named performance that wraps a function to return a tuple with ( 1 ) the original return value of the function and

Define a decorator named performance that wraps a function to return a tuple with (1) the original return value of the function and (2) the amount of time that it took. For example, we should be able to write:
@performance def add(a, b): return a + b sum_result, time_taken = add(1,2) # sum_result ==3, time_taken ~=0
Hint: to create a decorator named fake_performance that returns a tuple with the function call result and a string, we could do the following:
import functools def fake_performance(func): @functools.wraps(func) def wrapper(*args,**kwargs): result = func(*args,**kwargs) return result, "PUT THE ELAPSED TIME HERE AS A NUMBER" return wrapper

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!