최근에 great SO post을 보았습니다. 사용자가 NumPy 배열을 처리 할 때 이 파이썬의 sum
보다 빠르다고 제안했습니다.NumPy 함수를 사용하면 요소 별 연산이 연산자보다 빠릅니까?
NumPy 함수를 사용하면 NumPy 배열의 요소 별 연산이 연산자보다 빠릅니다. 그렇다면 왜이 경우입니까?
다음 예제를 고려하십시오.
import numpy as np
a = np.random.random(1e10)
b = np.random.random(1e10)
는 np.subtract(a, b)
빠르고 안정적으로 a - b
이상이어야합니까?
'np.subtract'는 인수를 배열로 변환하는 추가 코드가 있습니다. 따라서'np.subtract ([1,2,3], [4,5,6])'가 작동합니다. 'a-b'는이 여분의 코드가 필요 없기 때문에 좀 더 빠릅니다. 'np.subtract'는 또한'out' 키워드 매개 변수를 처리합니다 ... – unutbu
좋은 지적, @unutbu. 'np.subtract'의 추가 기능은 모두 함수의 시작/종료시 일회성 문제입니다. 여러분이 사용하지 않는다면'O (1) '이므로, 더 크고 더 큰 배열에서는 오버 헤드가 점점 무시 될 것입니다. –