Python から呼び出している外部プロセスの実行時間を計ろうとしています。私はそれを計りたかったのですが、ここで time.clock() が適していることがわかりました。しかし、私は time.time() で非常に一貫性のない結果を見ていました。time.sleep を使用して外部プロセスをモックする簡単な例を設定します。
def t1():
t0 = time.clock()
time.sleep(2.5)
return time.clock() - t0
def test_t1():
timings = []
for i in range(100):
timings.append(t1())
print sum(timings)/len(timings)
t2/test_t2 も同様に定義されていますが、time.clock() の代わりに time.time() を使用します。
>>>test_t1()
5.884e-05
>>>test_t2()
2.49959212065
ここで time.clock が間違っているのはなぜでしょうか?
編集: このテストは MacOSX で実行しており、デプロイされたコードは Ubuntu で実行されることに注意してください。