[Python] pow(x, 2) vs. (x * x) 실행 속도 비교

hongsikkim·2022년 7월 9일
0

Python

목록 보기
1/1

파이썬으로 작업을 하다가 특정 부분에서 실행 시간이 오래 걸리길래 확인해 봤더니 아래와 같은 코드가 있었다.

pow(x, 2)

처음에는 단지 파이썬의 내장 함수이기 때문에 시간이 적게 걸리지 않을까 생각했지만, 그 부분의 실행 시간을 줄이는 방법이 딱히 떠오르지 않아서 설마... 하는 생각으로 그 부분을 다음과 같이 수정했더니, 이전보다 실행 시간이 훨씬 줄어들었다.

x * x

그래서 실행 시간이 대충 얼마나 차이가 나는지 다음과 같이 직접 테스트해 보았다.

import time

a = 3.14159

print('pow(a, 2) 실험')
start = time.time()
for i in range(3000000):
    b = pow(a, 2)
end = time.time()
print('시간: ', end - start)

print('a * a 실험')
start = time.time()
for i in range(3000000):
    b = a * a
end = time.time()
print('시간: ', end - start)

실행 결과는 다음과 같았다.

1차 실험

pow(a, 2) 실험
시간:  0.6982791423797607
a * a 실험
시간:  0.19038057327270508

2차 실험

pow(a, 2) 실험
시간:  0.6514058113098145
a * a 실험
시간:  0.19645094871520996

3차 실험

pow(a, 2) 실험
시간:  0.6263716220855713
a * a 실험
시간:  0.19273591041564941

즉, a * a로 하는 것이 pow(a, 2)로 하는 것보다 약 3.0 ~ 3.5배 빠르다는 것을 알 수 있었다.

profile
딥러닝 덕후 가즈아

0개의 댓글