Appia의 IT세상

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

Python/Python 응용

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

Appia 2020. 12. 17. 06:15
반응형

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

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

이번 포스팅에서는 파이썬[Python]에서 함수 및 각 동작등의 실행 시간을 측정하기 위한 방법에 대해서 이야기를 해보고자 합니다. 실제 많은 비교 및 벤치마킹을 하기 위해서 실행 시간을 비교하는 경우가 제일 많습니다. 앞서 포스팅에서는 각 시간을 도출하는 방법에 대해서 포스팅을 한적이 있습니다. 이 부분과 유사하게 활용하여 적용을 해보고자 합니다. 

파이썬[Python] 031 날짜와 시간 출력하기(time)

 

파이썬[Python] 031 날짜와 시간 출력하기(time)

오늘은 time 모듈의 바탕으로 날짜와 시간을 출력하는 방법에 대해서 살펴보고자 합니다. 종종 작업을 하다 날짜와 시간에 대해 명시해야 하는 경우가 있습니다. 대표적인 경우를 들면 로그 파일

appia.tistory.com

 

먼저, 특정 부분의 명령어의 실행하기 위해서 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] 특정 동작의 실행시간 측정하기라는 주제로 포스팅을 해봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 

반응형
Comments