Python
[Python] 실행시간 체크하기. decorator 사용하기
bryan.oh
2022. 8. 13. 12:55
반응형
기본적으로 파이썬에서
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
반응형