私はこれが遅いことを知っていますが、私は実際に使用するのが本当に好きです:
import time
start = time.time()
##### your timed code here ... #####
print "Process time: " + (time.time() - start)
time.time()
エポックからの秒数を示します。これは標準化された時間(秒単位)であるため、終了時間から開始時間を引くだけでプロセス時間(秒単位)を取得できます。time.clock()
ベンチマークには適していますが、プロセスにかかった時間を知りたい場合は、役に立たないことがわかりました。たとえば、「プロセスに10プロセッサクロックユニットかかる」と言うよりも「プロセスに10秒かかる」と言う方がはるかに直感的です。
>>> start = time.time(); sum([each**8.3 for each in range(1,100000)]) ; print (time.time() - start)
3.4001404476250935e+45
0.0637760162354
>>> start = time.clock(); sum([each**8.3 for each in range(1,100000)]) ; print (time.clock() - start)
3.4001404476250935e+45
0.05
上記の最初の例では、time.clock()の場合は0.05、time.time()の場合は0.06377の時間を示しています。
>>> start = time.clock(); time.sleep(1) ; print "process time: " + (time.clock() - start)
process time: 0.0
>>> start = time.time(); time.sleep(1) ; print "process time: " + (time.time() - start)
process time: 1.00111794472
2番目の例では、プロセスが1秒間スリープしたにもかかわらず、プロセッサ時間が「0」を示しています。time.time()
正しく1秒強を示しています。