고성능 파이썬
도서명:고성능 파이썬
저자/출판사:미샤,고렐릭,이안,오스발트/한빛미디어
쪽수:528쪽
출판일:2021-05-10
ISBN:9791162244210
목차
CHAPTER 1 고성능 파이썬 이해하기
1.1 기본 컴퓨터 시스템
1.2 기본 요소 조합하기
1.3 파이썬을 쓰는 이유
1.4 뛰어난 성과를 거두는 파이썬 프로그래머가 되는 방법
CHAPTER 2 프로파일링으로 병목 지점 찾기
2.1 효과적으로 프로파일하기
2.2 줄리아 집합
2.3 전체 줄리아 집합 계산하기
2.4 시간을 측정하는 간단한 방법: print와 데커레이터
2.5 유닉스 time 명령어를 이용한 간단한 시간 측정
2.6 cProfile 모듈 사용하기
2.7 SnakeViz로 cProfile 결과 시각화하기
2.8 line_profiler로 한 줄씩 측정하기
2.9 memory_profiler로 메모리 사용량 진단하기
2.10 PySpy로 기존 프로세스 살펴보기
2.11 바이트코드: 내부 작동
2.12 최적화 중에 단위 테스트하기
2.13 성공적인 코드 프로파일링 전략
2.14 마치며
CHAPTER 3 리스트와 튜플
3.1 더 효율적인 탐색
3.2 리스트와 튜플
3.3 마치며
CHAPTER 4 사전과 셋
4.1 사전과 셋의 동작 원리
4.2 사전과 네임스페이스
4.3 마치며
CHAPTER 5 이터레이터와 제너레이터
5.1 이터레이터로 무한급수 표현하기
5.2 제너레이터의 지연 계산
5.3 마치며
CHAPTER 6 행렬과 벡터 계산
6.1 문제 소개
6.2 파이썬의 리스트만으로 충분할까?
6.3 메모리 단편화
6.4 넘파이를 이용한 확산 방정식 해법
6.5 numexpr: 제자리 연산을 더 빠르고 간편하게 쓰기
6.6 경고: ‘최적화’ 검증(사이파이)
6.7 행렬 최적화에서 얻은 교훈
6.8 팬더스
6.9 마치며
CHAPTER 7 C 언어로 컴파일하기
7.1 가능한 속도 개선의 종류
7.2 JIT 대 AOT 컴파일러
7.3 타입 정보가 실행 속도에 영향을 주는 이유
7.4 C 컴파일러 사용하기
7.5 줄리아 집합 예제 다시 보기
7.6 사이썬
7.7 pyximport
7.8 사이썬과 넘파이
7.9 Numba
7.10 PyPy
7.11 속도 향상 결과 정리
7.12 각 기술의 사용 시점
7.13 GPU
7.14 외부 함수 인터페이스
7.15 마치며
CHAPTER 8 비동기 I/O
8.1 비동기 프로그래밍 소개
8.2 async/await의 동작 방식
8.3 CPU 공유: I/O 부하
8.4 마치며
CHAPTER 9 multiprocessing 모듈
9.1 multiprocessing 모듈 소개
9.2 몬테 카를로 방식을 사용해 원주율 추정하기
9.3 프로세스와 스레드를 사용해 원주율 추정하기
9.4 소수 찾기
9.5 프로세스 간 통신을 사용해 소수 검증하기
9.6 multiprocessing과 넘파이 데이터 공유하기
9.7 파일과 변수 접근 동기화하기
9.8 마치며
CHAPTER 10 클러스터와 작업 큐
10.1 클러스터링의 이점
10.2 클러스터링의 단점
10.3 일반적인 클러스터 설계
10.4 클러스터화한 해법을 시작하는 방법
10.5 클러스터 사용 시 고통을 피하는 방법
10.6 두 가지 클러스터링 솔루션
10.7 강건한 프로덕션 클러스터링을 위한 NSQ
10.8 살펴볼 만한 다른 클러스터링 도구들
10.9 도커
10.10 마치며
CHAPTER 11 RAMM 덜 사용하기
11.1 값비싼 원시 타입 객체
11.2 컬렉션이 사용하는 RAM 이해하기
11.3 바이트와 유니코드
11.4 RAM에 많은 텍스트를 효율적으로 저장하기
11.5 사이킷런의 FeatureHasher를 사용해 더 많은 텍스트 모델링하기
11.6 DictVectorizer와 FeatureHasher
11.7 사이파이의 희소 행렬
11.8 RAM을 덜 사용하기 위한 팁
11.9 확률적 자료구조
CHAPTER 12 현장에서 얻은 교훈
12.1 특성 엔진으로 피처 엔지니어링 파이프라인 흐름 만들기
12.2 고성과 데이터 사이언스 팀
12.3 Numba
12.4 최적화 vs. 생각
12.5 어댑티브 랩의 소셜 미디어 분석, 소마(2014)
12.6 RadimRehurek.com의 딥러닝 플라이 만들기(2014)
12.7 Lyst.com의 대규모 머신러닝(2014)
12.8 스메시에서의 대규모 소셜 미디어 분석(2014)
12.9 성공적인 웹과 데이터 처리 시스템을 위한 PyPy(2014)
12.10 Lanyrd.com의 작업 큐(2014)