kobot

3D処理とか

Python処理時間計測(デコレーター)

処理時間を計測したいときにtimeモジュールで計測したい箇所を度々設定していたが、関数単位の計測であればデコレーター機能を活用して手軽に計測できることがわかったのでメモ。

import time

def calculate_time(func):
    def wrapper(*args, **kargs):
        start = time.time()
        result = func(*args, **kargs)
        elapsed_time = time.time() - start
        print("time = " + str(elapsed_time) + "[s]")
        return result
    return wrapper

@calculate_time
def func():
    print("計測したい関数")

if __name__ == '__main__':
    func()

参考記事 Pythonで処理の時間を計測する冴えた方法 https://qiita.com/hisatoshi/items/7354c76a4412dffc4fd7