Python 파일 실행시간 구하기는 개발자가 반드시 알아야 하는 기본적인 성능 측정 방법 중 하나입니다.
프로그램이 정상적으로 동작하더라도 실행 시간이 너무 길다면 사용자 경험이 나빠질 수 있고 서버 자원도 불필요하게 사용하게 됩니다.
특히 반복문, 데이터 분석, 크롤링, 파일 처리 작업을 할 때는 실행 시간을 확인하면서 개발하는 습관이 중요합니다.
이번 글에서는 Python의 time 모듈을 이용해 실행 시간을 측정하는 방법과 실제 활용 사례를 알아보겠습니다.
Python 실행시간을 확인해야 하는 이유
프로그램을 작성하다 보면 기능 구현에 집중한 나머지 성능을 놓치는 경우가 많습니다.
예를 들어 데이터 100건을 처리할 때는 문제가 없지만 10만 건, 100만 건으로 늘어나면 실행 시간이 급격히 증가할 수 있습니다.
이때 실행 시간을 측정하지 않으면 어느 부분이 느린지 알 수 없고 최적화도 어렵습니다.
특히 다음과 같은 경우에는 실행 시간 측정이 필수입니다.
- 대량 데이터 처리
- 웹 크롤링
- 파일 업로드 및 변환
- 이미지 처리
- 반복문이 많은 프로그램
- API 대량 호출
실행 시간을 확인하면 코드 수정 전후의 성능 차이를 객관적으로 비교할 수 있습니다.
가장 간단한 방법은 time 모듈 사용
Python에서는 기본 제공되는 time 모듈만으로도 쉽게 실행 시간을 측정할 수 있습니다.
원리는 매우 단순합니다.
- 실행 시작 시간을 저장한다.
- 코드를 실행한다.
- 현재 시간에서 시작 시간을 뺀다.
아래 코드를 파일 상단과 하단에 추가하면 전체 실행 시간을 확인할 수 있습니다.
import time
# 시작시간
start = time.time()
# 실행코드
# 현재시각 - 시작시간 = 실행 시간(초)
print("time:", time.time() - start)
출력 결과는 초(second) 단위로 표시됩니다.
예를 들어 결과가 아래처럼 나온다면 time: 2.345678 프로그램이 약 2.3초 동안 실행되었다는 의미입니다.
반복문 성능을 측정해보자
실행 시간 측정은 성능 개선 작업에서 특히 유용합니다.
예를 들어 반복문을 실행한다고 가정해 보겠습니다.
import time
start = time.time()
for i in range(10000000):
pass
print("time:", time.time() - start)
실행 환경에 따라 결과는 다르지만 대략 0.5초~2초 정도가 출력됩니다.
만약 코드 변경 후 실행 시간이 줄어든다면 성능 개선이 이루어진 것입니다.
반대로 실행 시간이 늘어났다면 추가 검토가 필요합니다.
실제로 사용해본 경험
제가 Python으로 로그 분석 프로그램을 만들었을 때 수만 건의 데이터를 처리하는 작업이 있었습니다.
처음에는 결과만 확인했는데 처리 속도가 점점 느려지는 느낌이 들었습니다.
그래서 주요 함수마다 실행 시간을 출력해 보니 특정 문자열 처리 부분에서 대부분의 시간이 소비되고 있었습니다.
이후 불필요한 반복문을 제거하고 조건문을 개선했더니 전체 실행 시간이 약 40% 정도 감소했습니다.
그때부터는 새로운 Python 파일을 만들면 실행 시간 측정 코드를 기본적으로 넣고 개발하고 있습니다.
작은 습관이지만 성능 문제를 빨리 발견하는 데 큰 도움이 됩니다.
특정 구간만 측정하는 방법
전체 프로그램이 아니라 특정 기능만 측정하고 싶을 때도 있습니다.
이 경우 시작 시간과 종료 시간을 별도로 기록하면 됩니다.
import time
start = time.time()
# 실행시간을 확인할 코드
for i in range(5000000):
pass
end = time.time()
print("실행시간:", end - start)
이 방법을 사용하면 함수별, 반복문별, 데이터 처리 구간별로 시간을 측정할 수 있습니다.
성능 최적화를 진행할 때 가장 많이 사용하는 방식입니다.
실행시간 측정 시 주의할 점
실행 시간을 측정할 때 몇 가지 알아두면 좋습니다.
- 첫 실행은 캐시 영향으로 느릴 수 있음
- 네트워크 통신은 환경에 따라 시간이 달라짐
- 데이터 양에 따라 결과가 크게 달라질 수 있음
- 여러 번 실행 후 평균값을 확인하는 것이 좋음
특히 API 호출이나 파일 입출력은 서버 상태에 따라 결과가 달라질 수 있으므로 한 번의 측정 결과만 믿지 않는 것이 좋습니다.
Python 실행시간 측정은 개발 습관이다
Python 파일 실행시간 구하기는 어렵지 않습니다.
단 몇 줄의 코드만 추가하면 프로그램이 얼마나 빠르게 동작하는지 확인할 수 있습니다.
특히 성능 개선이 필요한 프로젝트나 데이터 처리 프로그램을 개발할 때는 실행 시간 측정을 습관처럼 사용하는 것이 좋습니다.
저 역시 Python 스크립트를 새로 만들 때 아래 코드를 가장 먼저 추가하는 경우가 많습니다.
import time
start = time.time()
# 실행코드
print("time:", time.time() - start)
이 작은 습관 하나가 성능 문제를 빠르게 발견하고 더 효율적인 코드를 만드는 데 큰 도움이 됩니다.
- Python 공식 문서: Python time 모듈 문서