我正在尝试测试http请求处理代码块在我的烧瓶控制器中需要多长时间,这是我使用的示例代码:
cancelled = []
t0 = time.time()
t1 = time.clock()
users = requests.get('https://www.example.com/users/')
for i in users.json():
user = requests.get('https://www.example.com/user/%s' % i['id]').json()
if user['status'] == 'Cancelled':
cancelled.append(user)
t2 = time.clock()
t3 = time.time()
print t2 - t1
print t3 - t0
以下是输出:
2.712326
76.424875021
time.time()函数的第二个输出与显示结果所用的实际秒数相匹配,所以我不确定为什么time.clock()的值太小了?
编辑:我的系统是OSX和python 2.7,我的问题是为什么time.clock()通常被认为"更好" if time.time()是否反映了用户体验/等待的实际时间?
答案 0 :(得分:1)
请注意,从Python 3.3开始,time.clock现在是deprecated,因为行为与平台有关。文档建议使用time.process_time或time.perf_counter来衡量效果。
否则我建议使用timeit模块(特别是因为这样可以更好地控制测试环境)