へたっぴpythonista

ド素人pythonistaとして、日々の学習成果や気づいたことについて書きます。

プロセッサ処理時間を測定する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()。こんなに簡単なことならもっと早く学べばよかったなぁ。