https://automatetheboringstuff.com/chapter15/
さてプログラムを実行しているときに案外出てくる要件が時間計測。
例えばアルゴリズム間でパフォーマンスを比較するとか、経過時間に基づいてファイルをローテーションさせる。プログラムの開始時間と終了時間を記録するなどいろいろ考えられる。
pythonでもすでにtimeパッケージとして用意されているので使い方を確認する。
import time
def calcProd():
# Calculate the product of the first 100,000 numbers.
product = 1
for i in range(1, 100000):
product = product * i
return product
startTime = time.time()
prod = calcProd()
endTime = time.time()
print('The result is %s digits long.' % (len(str(prod))))
print('Took %s seconds to calculate.' % (endTime - startTime))
こちらを実行すると以下のように時間が計測される。
$ python timex.py
The result is 456569 digits long.
Took 16.528652667999268 seconds to calculate.
次はsleep。これも重要である。入力と入力の間に一定の時間待ちを入れるとか、polling処理で受け付けているときにバッファを与えるとかいろいろな使い道がある。
<blockquote>> import time
>>> for i in range(3):
... print('tick')
... time.sleep(2)
... print('tock')
... time.sleep(2)
...
tick
tock
tick
tock
tick
tock</blockquote>