CelestialSurveyor

Форк
0
/
measure_execution_time.py 
37 строк · 1.1 Кб
1
import time
2

3
from logger.logger import get_logger
4
from typing import Callable, Any
5

6

7
logger = get_logger()
8

9

10
def measure_execution_time(func: Callable) -> Callable:
11
    """
12
    A decorator function to measure the execution time of a given function.
13

14
    Args:
15
        func (callable): The function to measure the execution time for.
16

17
    Returns:
18
        callable: The wrapped function that measures the execution time.
19
    """
20
    def wrapper(*args, **kwargs) -> Any:
21
        """
22
        Wrapper function to measure the execution time of the decorated function.
23

24
        Args:
25
            *args: Positional arguments for the decorated function.
26
            **kwargs: Keyword arguments for the decorated function.
27

28
        Returns:
29
            Any: The result of the decorated function.
30
        """
31
        start_time = time.time()
32
        result = func(*args, **kwargs)
33
        end_time = time.time()
34
        execution_time = end_time - start_time
35
        logger.log.info(f"Execution time of {func.__name__}: {execution_time} seconds")
36
        return result
37
    return wrapper
38

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.