고성능 파이썬이라는 책을 보고 적는다.
이 책은 파이썬을 고성능으로 사용하기 위해서 나온다. 다행이도 c언어를 사용해서 라이브러리를 만들어서 최적화를 시키는 방향이 최종적이지만 책을 통해서 배울 것은 다음과 같다.
- 컴퓨터의 저수준 동작 방식을 이해하여 실제로 어떤 일이 일어나는지 알 수 있다.
- 리스트와 튜플 - 기본적인 자료구조인 리스트와 튜플의 미묘한 의미적인 차이와 속도 차이
- dict과 set - 중요한 자료구조인 사전과 셋의 메모리 할당 전략과 접근 알고리즘
- 이터레이터 - 이러테리어를 통해 데이터를 스트리밍하는 방법과 더 파이썬 다운 코드
- 순수 파이썬 방식의 접근 - 파이썬과 모듈을 효율적으로 사용하는 방법
- 행렬과 numpy - numpy 라이브러리를 고수처럼 사용하기
- 컴파일과 JIT - 빠른 처리를 위해 기계 코드로 컴파일하기, 프로파일링 결과 반영하기
- 데이터를 효과적으로 롬기기 위한 동시적인 접근 방법
- multiprocessing - 병렬 컴퓨팅을 위해 기본 라이브러리인 multiprocessing 모듈을 이용하는 다양한 방법, 효과적으로 numpy 행렬 공유하기, 그리고 프로세스 간 통신(IPC) 비용과 장점
- 클러스터 컴퓨팅 - multiprocessing을 사용한 코드를 수정하여 로컬 또는 클러스터에서 실행하는 방법
- 메모리 아껴 쓰기 - 비싼 컴퓨터를 구입하지 않고 대용량 문제를 풀기 위한 접근법
- 현업에서 얻은 교훈.
고성능 파이썬