time 사용하기

Tasker_Jang·2026년 3월 20일

1. time 모듈이란?

time은 Python 표준 라이브러리 중 하나로, 시간과 관련된 다양한 기능을 제공합니다. 그 중에서 코드 실행 시간을 측정할 때 가장 많이 쓰이는 함수들을 정리합니다.


2. time.time() — 현재 시각

1970년 1월 1일 00:00:00(UTC)을 기준으로 현재까지 흐른 시간을 초 단위로 반환합니다.

import time

print(time.time())
# → 1711234567.123456

숫자 자체보다는 두 번 찍어서 차이를 구하는 방식으로 처리 시간을 측정할 때 씁니다.

t0 = time.time()
# 처리할 코드
elapsed = time.time() - t0
print(f"{elapsed:.2f}s")

3. time.perf_counter() — 정밀 시간 측정

성능 측정 전용 함수로, time.time()보다 훨씬 정밀한 시간을 반환합니다.

import time

t0 = time.perf_counter()
# 처리할 코드
elapsed = time.perf_counter() - t0
print(f"{elapsed:.2f}s")

반환값 자체는 의미가 없고, 반드시 두 번 찍어서 차이를 구하는 방식으로 사용합니다.

time.time()          # 1711234567.123     ← 정밀도 낮음
time.perf_counter()  # 48273.123456789   ← 나노초 수준

4. time.time() vs time.perf_counter()

time.time()time.perf_counter()
기준1970년 1월 1일임의의 시작점
정밀도낮음높음 (나노초 수준)
용도현재 시각 확인코드 실행 시간 측정
시스템 시계 영향받음받지 않음

time.time()은 시스템 시계를 사용하기 때문에 NTP 동기화 등 외부 요인으로 값이 튀는 경우가 있습니다. 짧은 시간을 정밀하게 측정할 때는 perf_counter()가 적합합니다.


5. time.sleep() — 실행 일시 정지

지정한 시간(초) 동안 실행을 멈춥니다.

import time

print("시작")
time.sleep(2)   # 2초 대기
print("완료")   # 2초 후 출력

테스트나 API 호출 사이에 딜레이를 줄 때 자주 씁니다.


6. {elapsed:.2f} — 소수점 포맷

f-string에서 숫자 포맷을 지정하는 방법입니다.

elapsed = 1.23456789

f"{elapsed}"      # '1.23456789'  — 포맷 없음
f"{elapsed:.2f}"  # '1.23'        — 소수점 둘째 자리까지
f"{elapsed:.4f}"  # '1.2346'      — 소수점 넷째 자리까지

처리 시간을 출력할 때 소수점 둘째 자리까지만 보여주면 충분하기 때문에 .2f를 씁니다.


7. 핵심 정리

함수한 줄 설명
time.time()현재 시각 (1970년 기준 초)
time.perf_counter()정밀 시간 측정 (나노초 수준)
time.sleep(n)n초 동안 실행 일시 정지

한 줄 요약: 코드 실행 시간을 정밀하게 측정할 때는 time.time() 대신 time.perf_counter()를 사용합니다. 시작 시점과 끝 시점의 차이로 처리 시간을 구하는 것이 기본 패턴입니다.

profile
ML Engineer 🧠 | AI 모델 개발과 최적화 경험을 기록하며 성장하는 개발자 🚀 The light that burns twice as bright burns half as long ✨

0개의 댓글