[Python] 파이썬 프로그램 실행 시간 측정 - time 모듈

2024. 3. 26. 19:56· Python
목차
  1. 1. 개요
  2. 2. time.perf_counter()
  3. 3. time.process_time()

1. 개요

  • 파이썬 알고리즘이나 프로그램의 수행시간을 측정, 비교하기 위해 쓰이는 파이썬 모듈을 소개해보겠습니다.
  • 다만, 프로그램 구동환경에 따라 CPU, RAM, BUS 성능이 제각각이므로 모든 구동환경에 대한 '절대적' 측정 시간이 아닌, 특정 구동환경에 대한 '상대적' 수행시간임을 참고하시면 되겠습니다.
  • 파이썬 프로그램 시간측정에 쓰이는 'time'이라는 모듈 중 time.perf_counter()와 time.process_time() 이 두 가지 메서드에 대해 알아보겠습니다.

 

 

2. time.perf_counter()

  • time.perf_counter()  메서드는 파이썬 프로그램 실행 시작시간부터, 프로그램 종료까지의 시간을 측정하는데, 모든 대기 시간, 입/출력대기, 사용자와의 상호작용 대기시간 등이 포함됩니다.
  • 'time' 모듈을 import하는 선행작업이 필요합니다.
  • 스탑워치로 시간을 재듯, 시작 시점과 종료시점 두 가지에 대한 기록이 필요하고, 종료시간과 시작시간의 차이를 계산하여 프로그램의 총 구동시간을 측정합니다.
import time

# 성능 카운터 시작
start = time.perf_counter()

# 시간을 측정하고 싶은 작업 수행
# 예: 1초 대기
time.sleep(1)

# 성능 카운터 종료 및 출력
end = time.perf_counter()
print(f"Operation took {end - start} seconds")

 

 

 

3. time.process_time()

  • time.process_time() 메서드는 'CPU시간'을 측정하는데, CPU시간이란 입출력작업이나 대기 시간을 제외한 단순 CPU 이용시간만을 의미합니다.
  • 마찬가지로 'time' 모듈을 import하는 선행작업이 필요합니다.
  • 시작 시점과 종료시점 두 가지에 대한 기록이 필요하고, 종료시간과 시작시간의 차이를 계산하여 프로그램의 총 구동시간을 측정합니다.
import time

# CPU 시간 측정 시작
start = time.process_time()

# CPU 시간을 소모하는 작업, 예를 들어 계산 작업 수행
num = 0
for _ in range(1000000):
    num += 0

# CPU 시간 측정 종료
end = time.process_time()

# 소요된 CPU 시간 출력
print(f"Process took {end - start} seconds")

'Python' 카테고리의 다른 글

[Python] 리스트 내 특정 요소 개수 반환 - count() 메서드  (0) 2024.03.29
[Python] 파이썬 세트(Set) 자료형 - 집합연산, 메서드  (0) 2024.03.26
[Python] 특정 값이 처음으로 나타나는 인덱스 반환 - index()  (0) 2024.03.09
[Python] 원하는 기준으로 이차원 배열 정렬 - sort(), sorted() 및 람다함수  (2) 2024.03.01
[Python] 문자열 자료형 판별 메서드 - isdigit(), isalpha()  (0) 2024.03.01
  1. 1. 개요
  2. 2. time.perf_counter()
  3. 3. time.process_time()
'Python' 카테고리의 다른 글
  • [Python] 리스트 내 특정 요소 개수 반환 - count() 메서드
  • [Python] 파이썬 세트(Set) 자료형 - 집합연산, 메서드
  • [Python] 특정 값이 처음으로 나타나는 인덱스 반환 - index()
  • [Python] 원하는 기준으로 이차원 배열 정렬 - sort(), sorted() 및 람다함수
Hyper_
Hyper_
Hyper_
하이퍼의 아카이브
Hyper_
전체
오늘
어제
  • 분류 전체보기 (37)
    • Python (24)
    • Linux (6)
    • Network (3)
    • AWS (1)
    • Computer Science (1)
    • DB(SQL, NoSQL) (2)

블로그 메뉴

  • 글쓰기
  • 관리자
  • 홈
  • 방명록

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Hyper_
[Python] 파이썬 프로그램 실행 시간 측정 - time 모듈
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.