timer.py 565 Bytes
Newer Older
mibaumgartner's avatar
utils  
mibaumgartner committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import time

from loguru import logger


class Timer:
    def __init__(self, msg: str = "", verbose: bool = True):
        self.verbose = verbose
        self.msg = msg
        self.tic: float = None
        self.toc: float = None
        self.dif: float = None

    def __enter__(self):
        self.tic = time.perf_counter()

    def __exit__(self, exc_type, exc_val, exc_tb):
        self.toc = time.perf_counter()
        self.dif = self.toc - self.tic
        if self.verbose:
            logger.info(f"Operation '{self.msg}' took: {self.toc - self.tic} sec")