파이썬[Python] 특정 동작의 실행시간 측정하기

생성일
Apr 22, 2022 02:22 AM
언어
Python
분야

파이썬[Python] 특정 동작의 실행시간 측정하기

notion imagenotion image
파이썬[Python] 특정 동작의 실행시간 측정하기
이번 포스팅에서는 파이썬[Python]에서 함수 및 각 동작등의 실행 시간을 측정하기 위한 방법에 대해서 이야기를 해보고자 합니다. 실제 많은 비교 및 벤치마킹을 하기 위해서 실행 시간을 비교하는 경우가 제일 많습니다. 앞서 포스팅에서는 각 시간을 도출하는 방법에 대해서 포스팅을 한적이 있습니다. 이 부분과 유사하게 활용하여 적용을 해보고자 합니다.
먼저, 특정 부분의 명령어의 실행하기 위해서 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] 특정 동작의 실행시간 측정하기라는 주제로 포스팅을 해봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.