할당하지만, 메모리를 정상적인 값으로 초기화하지는 않는다. 따라서 그 블록에는 어떤 것이든
들어갈 수 있다. 안쪽 루프에서 이 배열의 내용을 덮어쓰므로 기본값을 배열에 대입할 필요가
없다. 이렇게 하면 배열을 할당하고 그 내용을 기본값으로 설정하는 쪽보다 약간 빠르다.
또한,
abs
를 호출한 코드 위치에
abs
함수 본문을 삽입함으로써(인라이닝
inlining
) 더 빠르고 명
시적인 수학 버전으로 바꿨다. 이 버전은
0
.
18
초가 걸린다(원래의 순수 파이썬 줄리아에 사이
썬을 사용한 [예제
7
-
8
]보다 약간 더 빠르다). 순수 파이썬 버전은 파이썬 복소수 객체를 역참
조할 때마다 부가비용이 든다. 하지만 이런 역참조는 바깥 루프에서 일어나므로 실행 시간에
크게 영향을 주지는 않는다. 바깥 루프에서 이런 변수의 네이티브 버전을 만든 다음부터 이들
은 ‘
C
속도’로 작동한다. 이
numpy
예제나 이전 순수 파이썬 예제의 내부 루프는 같은 데이터에
같은 작업을 수행한다. 따라서 실행 시간의 차이는 출력 배열 생성과 바깥 루프의 역참조에 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.