もじょえんじにあ……共感できる?

日常のメモ。日々これ共感。へたれでしょほてきなIT?

関数の時間を計るデコレータ

次のネタのための仕込みdeath。

関数の実行にどれくらいの時間がかかったか比べたいことありませんか?
pythonならtime.timeで計れますが、decoraterにしておくと便利です。

 

#!/usr/bin/env python3

from functools import wraps
import time

def elapsed(func):
  @wraps(func)
  def wrapper(*args, **kwargs):
    sttime = time.time()
    result = func(*args, **kwargs)
    elapsed_time = time.time() - sttime
    print("{} ms in {}".format(elapsed_time * 1000, func.__name__))
    return result
  return wrapper