파이썬 성능 높이기 (프로그램 병목 찾기부터 파이썬 구현 선택, 병렬 시스템 확장까지 | 2 판)

파이썬 성능 높이기 (프로그램 병목 찾기부터 파이썬 구현 선택, 병렬 시스템 확장까지 | 2 판)

$28.91
Description
파이썬 프로그램의 성능을 높이기 위한 여러 가지 전략을 소개한다. 파이썬에서 기본적인 프로그램 성능을 높이기 위한 병목 찾기를 어떻게 진행하는지부터 성능이 좋은 라이브러리 도입, 확장 파이썬을 컴파일하는 컴파일러, 파이썬 프로그램을 병렬적으로 만드는 것까지 다양한 수준의 성능 개선 기법이 나와 있으므로 파이썬을 어느 정도 써본 사람이라면 도움 될 것이다.
저자

가브리엘레라나로

중대형컴퓨터시뮬레이션을사용한결정체의형성과성장연구를수행해왔다.2017년이론화학에서박사학위를취득했다.머신러닝과수치계산시각화,웹기술에관심사가걸쳐있다.좋은소프트웨어를향한열정을갖고있으며오픈소스패키지인chemlab,chemview의저자다.이책의초판인『고성능파이썬프로그래밍』(에이콘,2013)을썼다.

목차

1장.벤치마킹과프로파일링
__애플리케이션설계
__테스트와벤치마크작성하기
____벤치마크시간측정하기
__pytest-benchmark로개선된테스트와벤치마크
__cProfile로병목찾기
__line_profiler로행단위프로파일
__코드최적화
__dis모듈
__memory_profiler를통한메모리사용량프로파일링
__요약

2장.순수파이썬최적화
__유용한알고리즘및데이터구조
____리스트와덱
____딕셔너리
____집합
____힙
____트라이
__캐싱과메모이제이션
____JOBLIB
__조건제시법과제너레이터
__요약

3장.NumPy와Pandas를사용한고속배열연산
__NumPy시작하기
____배열생성하기
____배열접근하기
____브로드캐스팅
____수학연산
____놈계산
__입자시뮬레이터를NumPy로다시작성하기
__numexpr로최적의성능에도달하기
__Pandas
____Pandas기초
____Pandas를사용한데이터베이스방식의연산
__요약

4장.Cython으로C성능얻기
__Cython확장컴파일
__정적형식추가
____변수
____함수
____클래스
__선언공유
__배열다루기
____C배열과포인터
____NumPy배열
____형식화된메모리뷰
__Cython입자시뮬레이터
__Cython프로파일링
__주피터로Cython사용하기
__요약

5장.컴파일러탐구
__Numba
____NUMBA첫단계
____형식특수화
____객체모드와원시모드
____Numba와NumPy
____JIT클래스
____Numba제약
__PyPy프로젝트
____PyPy설치
____PyPy로입자시뮬레이터실행하기
__그밖의흥미로운프로젝트
__요약

6장.동시성구현
__비동기적프로그래밍
____I/O대기
____동시성
____콜백
____퓨처
____이벤트루프
__asyncio프레임워크
____코루틴
____블로킹코드를논블로킹코드로변환하기
__반응형프로그래밍
____옵저버블
____유용한연산자
____뜨거운옵저버블과차가운옵저버블
____CPU모니터구축
__요약

7장.병렬처리
__병렬처리개론
____그래픽처리장치
__여러프로세스사용하기
____PROCESS와POOL클래스
____Executor인터페이스
____파이값의몬테카를로근사치계산법
____동기화와잠금
__OpenMP를사용한병렬Cython
__자동병렬성
____테아노시작
____텐서플로
____GPU에서코드실행
__요약

8장.분산처리
__분산컴퓨팅소개
____맵리듀스소개
__Dask
____방향성비순환그래프
____Dask배열
____DaskBag과DataFrame
____Daskdistributed
__파이스파크사용하기
____스파크와파이스파크설정
____스파크아키텍처
____RDD
____스파크데이터프레임
__mpi4py를사용한과학기술컴퓨팅
__요약

9장.성능을높이는설계
__적절한전략선택하기
____일반애플리케이션
____수치코드
____빅데이터
__소스코드구조화하기
__격리와가상환경,컨테이너
____Conda환경사용하기
____가상화와컨테이너
__지속적인통합
__요약