import time
import functools
import logging
logging.basicConfig(level=logging.INFO)
def time_it(func):
"""Decorator to measure execution time of a function."""
@functools.wraps(func)
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
execution_time = end_time - start_time
logging.info(f"Function '{func.__name__}' took {execution_time:.4f} seconds")
return result
return wrapper
if __name__ == '__main__':
@time_it
def my_task(n):
"""A short-lived task."""
time.sleep(0.1) # Simulate some work
return n * 2
result = my_task(5)
print(f"Result: {result}")
@time_it
def another_task(text):
"""Another short task"""
time.sleep(0.05)
return text.upper()
print(another_task("hello"))
Add your comment