我想检查每秒完成的迭代次数或每秒发送的urllib请求数,但不会减慢程序的速度(time.sleep()似乎可以)。这是该计划,例如:
while True:
url = urllib.request.urlopen("google.com")
我还希望请求/每秒计数器以毫秒为单位更新,因此它可能会打印类似
的内容"每秒2.83次请求" 然后更新为"每秒2.93个请求"如果循环迭代得更快。
答案 0 :(得分:0)
我使用time
和一个计数器来完成此任务。我还添加了一个自定义生成器(因为我无法在Python的库中找到它),它允许您设置和访问i
值。
import time, itertools
def byRefCount():
i = [0]
while True:
yield i[0],i
i[0] += 1
last = time.time()
for i,ref in byRefCount():
url = urllib.request.urlopen("google.com")
if time() - last > 1:
print(i / (time.time()-last))
ref[0] = 0
last = time.time()