honeybansal23/nextAnalytics
0
1import asyncio2from functools import wraps3import time4 5 6def time_execution(func):7 if asyncio.iscoroutinefunction(func):8 @wraps(func)9 async def async_wrapper(*args, **kwargs):10 start_time = time.time()11 result = await func(*args, **kwargs)12 end_time = time.time()13 execution_time = end_time - start_time14 print(f"Function '{func.__name__}' executed in {execution_time:.4f} seconds")15 return result16 return async_wrapper17 else:18 @wraps(func)19 def sync_wrapper(*args, **kwargs):20 start_time = time.time()21 result = func(*args, **kwargs)22 end_time = time.time()23 execution_time = end_time - start_time24 print(f"Function '{func.__name__}' executed in {execution_time:.4f} seconds")25 return result26 return sync_wrapper27 