プロセッサ処理時間を測定するtime.clock()
プログラムのコストについて勉強するに当たり避けては通れない、プロセッサ処理時間の測定の話です。
処理時間の測り方
import time
start_time=time.clock()
-----------------------------------
測りたいコード
-----------------------------------
end_time=time.clock()
result=end_time - start_time
time.clock()を最初に呼び出した時点から計測が始まり、途中のコードをすべて走らせた後に再びtime.clock()を呼び出した時点で計測が終わります。
例
import time
start=time.clock()
for i in range(10):
print( i , end=" ")
end=time.clock()
print("It took",end-start)
これを実行すると
0123456789 It took 0.00010454482278234294 という結果が得られます。
ただしこの0.0001045~という数字はいつでも同じというわけではなく、コンピューターが他に処理していた事柄の多少に左右されます。あくまで「今回」、或いは「現環境」でのプロセッサ処理時間ということです。
例えば今回の場合、
一回目 0123456789 It took 0.00010454482278234294
二回目 0123456789 It took 7.212782346998855e-05(=0.000072127)
三回目 0123456789 It took 0.00013655660960329292
となりました。
ProjectEulerを始めた時点で学んでおくべきテクニックだったのですが、後回しにしていて今まで学んでこなかったtime.clock()。こんなに簡単なことならもっと早く学べばよかったなぁ。