Python은 인터프리터 언어로서 C/C++과 같은 컴파일 언어보다 속도가 느립니다.
하지만 numba 라이브러리를 사용하면 컴파일 언어로 바꿔서 사용할 수 있습니다.
import math
import numpy as np
import time
from numba import njit
def std(xs):
mean = 0
for x in xs:
mean += x
mean /= len(xs)
ms = 0
for x in xs:
ms += (x-mean)**2
variance = ms / len(xs)
std = math.sqrt(variance)
return std
if __name__ == '__main__':
a = np.random.normal(0, 1, 10000000)
start = time.time()
std(a)
end = time.time()
print('njit (X) TIME : {}'.format(end-start))
c_std = njit(std)
start = time.time()
c_std(a)
end = time.time()
print('njit (O) TIME : {}'.format(end-start))
'Language > Python' 카테고리의 다른 글
Selenium으로 Chorme 크롤링 & 저장 (0) | 2022.03.31 |
---|---|
Python에서 Void Pointer 사용하기 (0) | 2022.03.22 |
이미지 경로 리스트 만들기 (0) | 2022.01.28 |
원하는 크기의 이미지 resize (padding 붙이기!) (0) | 2022.01.27 |
Python Multi Process - ray (0) | 2022.01.11 |