본문 바로가기
파이썬

파이썬 Python 시간 측정 기능

by º기록 2020. 10. 6.
반응형

각 함수에 소요 된 시간을 테스트하고 시간과 함께 이름을 인쇄하는 파이썬 함수를 만들고 싶습니다. 함수 이름을 인쇄하는 방법과 다른 방법이 있으면 알려주십시오.

def measureTime(a):
    start = time.clock() 
    a()
    elapsed = time.clock()
    elapsed = elapsed - start
    print "Time spent in (function name) is: ", elapsed

 

해결 방법

 


그러나 엄격하게 배우기 위해 자신의 타이밍 방법을 작성하려면 여기에 데코레이터를 사용하기 시작할 수있는 곳이 있습니다.

Python 2 :

def timing(f):
    def wrap(*args):
        time1 = time.time()
        ret = f(*args)
        time2 = time.time()
        print '%s function took %0.3f ms' % (f.func_name, (time2-time1)*1000.0)
        return ret
    return wrap

사용법은 매우 간단합니다. @timing 데코레이터를 사용하면됩니다.

@timing
def do_work():
  #code

Python 3 :

def timing(f):
    def wrap(*args, **kwargs):
        time1 = time.time()
        ret = f(*args, **kwargs)
        time2 = time.time()
        print('{:s} function took {:.3f} ms'.format(f.__name__, (time2-time1)*1000.0))

        return ret
    return wrap

참고 : f.func_name 을 호출하여 함수 이름을 문자열 (Python 2에서) 또는 f .__ name __ (Python 3에서)로 가져옵니다.

 

참조 페이지 https://stackoverflow.com/questions/5478351

 

 

반응형

댓글