본문 바로가기

4. 개인 취미 생활

[56] python 프로그램 수행 시간 구하기(time 모듈)

 

프로그램 수행 시간 측정이 필요한 이유

어떤 문제 해결하는 방법은 여러 가지가 있습니다. 방법 마다 사용한 알고리즘에 따라 효율적인 방법이 있고, 반대로 비효율적인 방법이 있습니다.

프로그램을 비효율적인 알고리즘으로 만든다면 그만큼 수행 시간이 오래 걸리고, 실제 서비스 되는 경우에는 비용 문제로 이어질 수도 있습니다. 이처럼 효율적인 알고리즘으로 프로그램을 만드는 것은 매우 중요하다고 할 수 있습니다.

어떤 프로그램이 효율적인지 비효율적인지 판단하는 가장 쉬운 방법은 바로 수행 시간을 측정하는 것입니다.

python에서는 time이라는 모듈을 제공하고 있습니다. time 모듈을 사용하여 프로그램의 수행 시간을 측정하는 방법을 알아봅시다.

 

time 모듈 사용하기

>>> import time
>>> time.time()
1699410993.659295

time 모듈의 time 메서드를 동작시키면 이상한 숫자가 출력됩니다. 이 숫자는 1970년 1월 1일 0시 0분 0초를 기준으로 현재까지 지난 시간을 초 단위로 보여줍니다.

따라서 time 메서드는 동작시킬 때 마다 다른 숫자가 출력되는 것을 볼 수 있습니다.

>>> type(time.time())
<class 'float'>

출력된 숫자는 float 타입이므로 연산이 가능합니다.

 

time 모듈로 프로그램 수행 시간 구하기

import time

def 함수():
	...

start_time = time.time()
함수()
end_time = time.time()

print(end_time - start_time)

위와 같이 특정 함수를 실행시키기 전과 후에 time 메서드를 호출한 후 두 시간 차이를 출력하면 해당 함수의 동작 시간을 확인할 수 있습니다.

마찬가지로 이를 응용하면 특정 코드 혹은 프로그램 전체의 수행 시간도 확인할 수 있습니다.