二层三层通用装饰器
def timethis(func=None, log=logging.getLogger(), loglevel=logging.INFO):
'''
计算程序运行时间的装饰器。
'''
if func is None:
return partial(timethis, log=log, loglevel=loglevel)
log.addHandler(logging.StreamHandler())
log.setLevel(loglevel)
@wraps(func)
def wrapper(*args, **kwargs):
start_time = time.time()
log.info(f'running {func.__name__}')
res = func(*args, **kwargs)
end_time = time.time()
log.info(f"Comparing embeddings costs {end_time - start_time:.6} seconds.")
return res
return wrapper

浙公网安备 33010602011771号