TIL - 파이썬 시간 측정

Jisu Park·2021년 6월 15일
0

오늘의개발일지-TIL

목록 보기
3/12
post-thumbnail

들어가는 글

여직 수 많은 알고리즘 문제들을 풀면서 시간복잡도를 논리적으로 계산할 생각만 했지 실질적으로 시간을 측정해볼 생각을 해보지 않았다. 시간복잡도를 개선하여 효율성을 높이는 방식으로 코드를 수정할 때도 속도가 얼마나 빨라졌는지 따져보지 않았고, 효율성 테스트케이스가 통과되는 것을 보면서 제대로 했겠거니 넘겨짚었다.
그런데 오늘 '이것이 코딩테스트다' 책을 보며 서로소 집합 알고리즘 소스코드를 타이핑해보다가 뒷부분에 시간복잡도가 개선된 코드가 또 나오길래 문득 궁금해졌다. 속도가 빨라지면 얼마나 빨라진다고 경로 압축 기법 소스코드라는 것을 사용하는 것일까 싶었다. 그래서 찾아봤다. 파이썬에서 시간 측정하는 방법을.

시간 측정하는 방법

방법은 간단하다.

  1. time 모듈을 import한다.
  2. 코드가 시작하는 시점에 time.time()을 특정 변수(start)에 저장한다.
  3. 코드가 끝난 시점에 time.time()에서 start를 뺀다.

3번까지 수행하고 나면 해당 시간이 초 단위로 출력되는 것을 볼 수 있다.

예시 코드

import time
start_time = time.time()

#확인하고자 하는 소스코드 작성

end_time = time.time()
print("run time: ", end_time - start_time)

>> run time:  1.5841951370239258

마무리

나는 이를 통해서 기존 서로소 집합 알고리즘에 비해 경로 압축 기법이 2초이상 빠르다는 것을 확인했다. 작은 데이터셋이었음에도 2초 이상 차이가 나는 것을 보고 데이터셋이 크면 더 차이가 나겠다는 생각을 하면서 효율성을 높이는 것의 중요성을 다시 한번 실감했다.
앞으로도 시간복잡도를 높이기 위해 코드를 바꿀 때마다 기존 코드와 수정된 코드를 비교해봐야겠다.

Reference

https://opentutorials.org/module/2980/17436

profile
언젠간 데이터 분석을 하고 싶은 초짜 프론트엔드 개발자입니다🙃

0개의 댓글