4 回答
TA贡献1775条经验 获得超11个赞
一、benchrun.py
import datetime
print ("sleeping now...")
time.sleep(10)
print ("done!")
包装:
import os
from datetime import datetime, timedelta
before = datetime.now()
os.system("python benchrun.py")
after = datetime.now()
print ("execution time: {0}".format(after - before))
TA贡献1876条经验 获得超7个赞
# timer.py
import time
def timer():
def wrapper(f):
def wrapped_f(*args, **kwargs):
tic = time.perf_counter() # more precise than '.clock'
f(*args, **kwargs)
toc = time.perf_counter()
method_name = f.__name__
print('{}: {:.2f}sec'.format(method_name, toc - tic))
return wrapped_f
return wrapper
# benchrun.py
from timer import timer
@timer
def benchrun():
...
TA贡献1784条经验 获得超2个赞
您需要在执行前后计算时间并减少它们之间的时间,以便获得执行时间;
在包装器脚本中:
import time
执行前:
before= time.clock()
执行后:
after = time.clock() totaltime = after-before
totaltime 是 benchrun.py 脚本的执行时间。
TA贡献1807条经验 获得超9个赞
你在使用 os.system 来调用 benchrun.py 吗?如果是这样,只需在开始和返回后设置 datetime.now() ,并计算增量。它应该工作。
添加回答
举报