|
- import time
- from contextlib import contextmanager
-
-
- @contextmanager
- def check_time_elapse(seconds:float, op='lt'):
- """
- 检测某一段程序所花费的时间,是否 op 给定的seconds
-
- :param seconds:
- :param str op:
- :return:
- """
- start = time.time()
- yield
- end = time.time()
- if op == 'lt':
- assert end-start < seconds, (end-start, seconds)
- elif op == 'gt':
- assert end-start > seconds, (end-start, seconds)
- elif op == 'eq':
- assert end - start == seconds, (end-start, seconds)
- elif op == 'le':
- assert end - start <= seconds, (end-start, seconds)
- elif op == 'ge':
- assert end - start >= seconds, (end-start, seconds)
- else:
- raise ValueError("Only supports lt,gt,eq,le,ge.")
|