
파이썬[Python] 특정 동작의 실행시간 측정하기
이번 포스팅에서는 파이썬[Python]에서 함수 및 각 동작등의 실행 시간을 측정하기 위한 방법에 대해서 이야기를 해보고자 합니다. 실제 많은 비교 및 벤치마킹을 하기 위해서 실행 시간을 비교하는 경우가 제일 많습니다. 앞서 포스팅에서는 각 시간을 도출하는 방법에 대해서 포스팅을 한적이 있습니다. 이 부분과 유사하게 활용하여 적용을 해보고자 합니다.
파이썬[Python] 031 날짜와 시간 출력하기(time)
먼저, 특정 부분의 명령어의 실행하기 위해서 time 모듈을 이용하여 대부분 사람들은 다음과 같이 코드를 작성할 것입니다.
import time
start = time.time()
print("hello")
end = time.time()
print(end - start)
위의 실행 결과는 다음과 같이 나타납니다.
hello
0.0
위와 같이 time 함수로는 정확한 시간을 측정하기 힘든 제약이 있습니다. 그래서 다음과 같이 코드를 변경하여 실행해보도록 하겠습니다.
from timeit import default_timer as timer
from datetime import timedelta
start = timer()
print("OK")
end = timer()
print(timedelta(seconds=end-start))
위의 실행 결과는 다음과 같이 나타납니다.
OK
0:00:00.000004
위와 같의 결과를 도출 할 수 있습니다.
그럼 함수의 측정 결과를 비교하는 부분들에 대해서 다음과 같이 구성을 해보도록 하겠습니다. 가장 편하게 변수를 통해서 출력하는 함수와 변수 할당 없이 바로 출력하는 함수를 비교해보는 예시를 보겠습니다.
from timeit import default_timer as timer
from datetime import timedelta
def print_variable():
A = "Appia HelloV"
print(A)
def print_direct():
print("Appia HelloD")
start = timer()
#측정할 함수 입력
print_variable()
end = timer()
print(timedelta(seconds=end-start))
start = timer()
#측정할 함수 입력1
print_direct()
end = timer()
print(timedelta(seconds=end-start))
위의 실행 결과는 다음과 같이 나타납니다.
Appia HelloV
0:00:00.000014
Appia HelloD
0:00:00.000004
보이는 바와 같이 직접 출력하는 부분이 확실히 속도적인 측면에서 빠른 것을 알 수 있습니다.
이와 같은 방법으로 실행 시간에 대해서 출력할 수 있습니다. 이번 포스팅에서는 파이썬[Python] 특정 동작의 실행시간 측정하기라는 주제로 포스팅을 해봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.