속도에 끼치는 영향은 극적이다. 합성수 판단 속도도 빨라졌지만, 소수를 검사할 때 거의 덜 단
순한 풀 버전만큼 빨라졌다는 점이 더 중요하다(이제는 단지
0
.
1
초 느리다). 프로세스 간 통신
을 하는 데 드는 추가 작업이 상당하다는 사실을 고려해보면 이는 매우 흥미로운 결과다. 하지
만 이 결과는
C
파이썬에만 해당하며 컴파일러를 사용한다면 성능 향상을 기대하기 어렵다.
이 책의 초판에는 루프를 펼치고 전역 객체를 가리키는 지역 참조를 만들어서 가독성을 희생
하며 성능을 쥐어짜는 예제가 있었다. 파이썬
3
에서는 이 예제가 속도를 약간 느리게 만들어서
여기서는 삭제했다. 이런 결과는 성능이 좋은 프로그램을 만들기 위해 넘어야 하는 단계가 줄
어들었다는 뜻이므로, 우리는 이 결과에 만족한다. 게다가 특정 구현에 의존해 변경한 코드보
다는 지금까지 살펴본 코드가 유지보수하기 더 좋다.
TIP
여기서 본 예제들은
PyPy
에서도 잘 작동한다. 게다가
PyPy
에서는
C
파이썬에서보다
7
배 정도 더 빠르다.
때로는
C
파이썬이라는 토끼굴로 들어가 더 깊이 들여다보기보다 다른 런타임을 검토해보는 편이 더 낫다.
9.6
multiprocessing
과 넘파이 데이터 공유하기
큰
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.