ナノ秒まで測れる簡単な方法が見つからなかったので作成しました。
python3.7以降で使えます。
時間計測デコレータ
import time
from functools import wraps
def proc_time(f):
@wraps(f)
def _wrapper(*args, **kwargs):
st = time.perf_counter_ns()
res = f(*args, **kwargs)
t = (time.perf_counter_ns() - st) * 0.000000001
print(f'{format(t,".2E")} sec')
return res
return _wrapper
実行テスト
@proc_time
def a():
pass
a()
結果
7.70E-07 sec
軽い関数を用意して100nsオーダーまで計測できることを確認しました。