timing decorator

PHOTO EMBED

Sun Mar 12 2023 16:15:11 GMT+0000 (Coordinated Universal Time)

Saved by @pika8oo #python #decorator #timing

import functools
import time
from typing import Callable, Any


def async_timed():
    def wrapper(func: Callable) -> Callable:

    @functools.wraps(func)
    async def wrapped(*args, **kwargs) -> Any:
        print(f'выполняется {func} с аргументами {args} {kwargs}')
        start = time.time()
        try:
            return await func(*args, **kwargs)
        finally:
            end = time.time()
            total = end - start
            print(f'{func} завершилась за {total:.4f} с')
        return wrapped
    return wrapper
content_copyCOPY