def benchmark(func):
@wraps(func)
def wrapper(*args, **kwargs):
warmup = kwargs.pop('warmup', False)
if warmup:
func(*args, **kwargs)
kind = args[0]
t0 = timer()
try:
result = func(*args, **kwargs)
except Exception:
logger.warning("finished,%s,%s,%s", func.__name__, kind,
float('nan'))
else:
t1 = timer()
logger.info("finished,%s,%s,%s", func.__name__, kind, t1 - t0)
return result
_benchmarks.append(wrapper)
return wrapper
评论列表
文章目录