pythonでコードの実行時間を測定するには
課題に、プログラムを走らせて時間を測定するというものがありました。
で、Pythonの勉強がてら、コードの実行にかかる時間を測定しようと思いまして、調べることに
Timerクラスのtimeit()を使う
以下を参照
で、計算するときの速度を量ってみました。
from timeit import Timer def time1(): n = 0 for i in range(10): n += 1 return n t1 = Timer(setup='from __main__ import time1', stmt='time1()') print t1.timeit()
実行結果が秒数で出てくるらしい
C:\Documents and Settings\user>c:\Python25\Python "C:\Documents and Settings\user\デスクトップ\test.py" 3.3634020525
止まったように見えて実行してた
timeit()は引数を指定しないとデフォルト値が100万だそうで、つまりTimerに入れた関数とか実行できる文を100万回実行して、かかった秒数を浮動少数で返してくれるものです。
最初、for in i range(100)として実行してましたが、動かないので止まっちゃった?と思ってましたw もちろん実行はしていまして、20秒ぐらいかかったかな。
このTimerクラスはPython2.3から追加されたクラスのようで、jython2.2.1には実装されていないっぽい?ようです。多分
これで課題も進むか
良かった良かった。ホッとした。Zzzz って寝ちゃだめ><