본문 바로가기
Python

[Python] 실행시간 체크하기. decorator 사용하기

by bryan.oh 2022. 8. 13.
반응형

기본적으로 파이썬에서

time 을 이용해서

실행시간 체크하는 방법입니다.

import time

# 작업 전 시간
start = time.time()

print('work something')
time.sleep(1)

# 작업 후 시간
end = time.time()

# 시간 계산
print(f'time = {(end-start)}s')
# time = 1.005115270614624s

시간의 소수점이 너무 길다면 출력 format 을 변경합니다.

print(f'time = {(end-start):.3f}s')
# time = 1.005s

 

함수 실행 시간 체크

특정 함수가 있을 때, 그 함수의 실행 시간을 체크하는 방법입니다.

start = time.time()
some_function()
end = time.time()

이렇게도 할 수 있겠지만, 

decorator 를 이용해서 더 편하게 사용할 수 있습니다.

우선 decorator 를 정의합니다.

import time


def time_trace(func):
    def wrapper(*args, **kwargs):
        st = time.time()
        rt = func(*args, **kwargs)
        print(f'### {func.__name__}({args}) time : {time.time()-st:.3f}ms')
        return rt
    return wrapper

그리고 실행 시간을 체크하고 싶은 function 들 위에 annotation 을 써줍니다.

실행 결과는

 

decorator 에 대해 더 알아보고 싶다면,

https://hello-bryan.tistory.com/214

 

Python Decorator 란? 사용 방법. #Python Decorator

파이썬 데코레이터 Python Decorator Decorator 실행하려는 method데코레이터는 사용자가 구조를 수정하지 않고 기존 객체에 새로운 기능을 추가 할 수 있도록하는 Python의 디자인 패턴입니다.

hello-bryan.tistory.com

 

728x90
반응형

댓글