프로그램 성능을 확인하기 위해 처리 시간을 측정하는 경우가 있습니다.
하나의 프로그램 처리 단위로 측정을 하는 경우도 있고, 성능 향상을 위해 시간이 오래 걸리는 로직을 찾아내기 위해서도 시간을 측정하기도 합니다.
time 모듈을 사용해 작성한 소스의 시간 측정을 하는 방법을 간단히 알아보겠습니다.
시간 측정
time 모듈에는 시간에 관한 함수들이 있습니다.
이것을 이용해 실행 시간을 계산할 수 있습니다.
시작 시간과 종료시간을 취득해 걸린 시간을 계산하는 간단한 예제를 보겠습니다.
import time
start = time.time()
time.sleep(3)
end = time.time()
print(f"{end - start} sec")
결과
3.00043 sec
time()은 Unix timestamp를 소수로 반환합니다.
반환값에서 정수 부분은 초단위이고, 소수 값은 마이크로 초단위입니다.
변수 start에는 현재 시간을 time() 함수로 취득해 저장합니다.
sleep을 사용해 3초 동안 일시 정지를 시켰습니다.
변수 end에도 현재 시간을 time() 함수로 취득합니다.
종료 시간 저장한 변수 end와 시작 시간인 start의 시간 차이를 계산하면 처리에 걸린 시간을 확인할 수 있습니다.
sleep으로 일시 정지를 한 3초 외에는 마이크로 초단위이기 때문에 소수점 5자리까지 표시하도록 했습니다.
sleep 함수의 자세한 사용 방법은 아래를 참조해주세요.
소수점 아래인 마이크로 초단위를 제거하고 초단위만 표시하는 방법을 알아보겠습니다.
결과값은 소수값까지 출력되기 때문에 소수점이 포함되어 있습니다.
split함수를 사용해 소수점으로 값을 구분하도록 합니다.
import time
start = time.time()
time.sleep(3)
end = time.time()
print((f"{end - start:.1f}").split(".")[0] + " sec")
결과
3 sec
소수값인 마이크로 초단위는 삭제되고 초만 출력하고 있습니다.
처리 시간을 확인하고 싶거나 로그에 기록을 남기고 싶은 경우에 사용하면 좋을 거 같습니다.
댓글