time モジュールよりもうまく機能するjackedCodeTimerPyという非常に優れたライブラリがあります。また、いくつかの巧妙なエラー チェック機能も備えているため、試してみることをお勧めします。
jackedCodeTimerPy を使用すると、コードは次のようになります。
# import time
from jackedCodeTimerPY import JackedTiming
JTimer = JackedTiming()
word = {"success":0, "desire":0, "effort":0}
def cleaner(x):
dust = ",./<>?;''[]{}\=+_)(*&^%$#@!`~"
for letter in x:
if letter in dust:
x = x[0:x.index(letter)]+x[x.index(letter)+1:]
else:
pass
return x #alhamdlillah it worked 31.07.12
print "input text to analyze"
itext = cleaner(raw_input()).split()
# t = time.clock()
JTimer.start('timer_1')
for iword in itext:
if iword in word:
word[iword] += 1
else:
pass
# print t
JTimer.stop('timer_1')
print JTimer.report()
print len(itext)
それは次のような本当に良いレポートを提供します
label min max mean total run count
------- ----------- ----------- ----------- ----------- -----------
imports 0.00283813 0.00283813 0.00283813 0.00283813 1
loop 5.96046e-06 1.50204e-05 6.71864e-06 0.000335932 50
統計情報とタイマーの実行回数が表示されるのが気に入っています。
使い方は簡単です。for ループにかかるタイムコードを測定したい場合は、次のようにします。
from jackedCodeTimerPY import JackedTiming
JTimer = JackedTiming()
for i in range(50):
JTimer.start('loop') # 'loop' is the name of the timer
doSomethingHere = 'This is really useful!'
JTimer.stop('loop')
print(JTimer.report()) # prints the timing report
複数のタイマーを同時に実行することもできます。
JTimer.start('first timer')
JTimer.start('second timer')
do_something = 'amazing'
JTimer.stop('first timer')
do_something = 'else'
JTimer.stop('second timer')
print(JTimer.report()) # prints the timing report
レポにはさらに使用例があります。お役に立てれば。
https://github.com/BebeSparkelSparkel/jackedCodeTimerPY