你可以得到每秒的事件的總平均數是這樣的:
#!/usr/bin/env python3
import time
import datetime as dt
start_time = dt.datetime.today().timestamp()
i = 0
while(True):
time.sleep(0.1)
time_diff = dt.datetime.today().timestamp() - start_time
i += 1
print(i/time_diff)
在這個例子中會請注意,我使用了datetime
的timestamp
方法,該方法僅在Python 3中可用。
現在,如果您想要計算每秒「當前」事件數量,請說明最近10次事件,你可以這樣做:
#!/usr/bin/env python3
import time
import datetime as dt
last_time = dt.datetime.today().timestamp()
diffs = []
while(True):
time.sleep(0.1)
# Add new time diff to list
new_time = dt.datetime.today().timestamp()
diffs.append(new_time - last_time)
last_time = new_time
# Clip the list
if len(diffs) > 10:
diffs = diffs[-10:]
print(len(diffs)/sum(diffs))
在這裏,我保留了最近10次迭代的持續時間列表,然後我可以使用它們來獲取每秒平均事件數量。
謝謝!這很好用! – user2879551