본문 바로가기

데이터 다루기/Python

[Python] 코드 실행 시간 측정

728x90
반응형
%%timeit

위 문구를 사용하면 해당 코드에 대한 시간을 자동으로 측정할 수 있다.

예시로 for 문 loop와 list comprehension의 성능 차이를 관찰해보도록 하겠다.

 

%%timeit 
L = [n ** 2 for n in range(10000)]

timeit 를 코드 블록 가장 앞에 추가해주고 아래에 실행 시킬 코드를 입력해주면 된다.

해당 코드를 설명하자면 0부터 9999 까지 제곱 수를 list 안의 원소로 포함시키는 코드이다.

 

2.07 ms ± 6.07 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

 

실행 결과를 보면 100개의 loop를 도는데 2.07 ms 의 시간이 소모된다.


이번에는 for 문 loop를 활용해서 빈 리스트에 append하는 방법으로 시간을 측정해보도록 하겠다.

 

 

%%timeit
L = []
for i in range(10000):
    L.append(i ** 2)

마찬가지로 timeit 를 코드 블록의 가장 앞에 추가하였다.

 

2.28 ms ± 1.57 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)


​실행 결과를 보면 100개의 loop를 도는데 2.28 ms 의 시간이 소모된다.


이 예제를 통해 list comprehension을 통한 연산이 for 문 루프를 활용한 것보다 약 10%가량 더 빠른 것을 확인할 수 있다.

 

반응형

'데이터 다루기 > Python' 카테고리의 다른 글

[Python] Numpy란?  (0) 2023.03.15
[Python] 에러 및 디버깅  (0) 2023.02.15
[Python] 기초 문법 (9) List 관련 함수  (0) 2020.11.06
[Python] 기초 문법 (8) File processing  (0) 2020.11.06
[Python] 기초 문법 (7) String  (0) 2020.10.30