장바구니 담기 close

장바구니에 상품을 담았습니다.

고성능 파이썬

고성능 파이썬

  • 미샤고렐릭 ,이안오스발트
  • |
  • 한빛미디어
  • |
  • 2021-05-10 출간
  • |
  • 528페이지
  • |
  • 183 X 235 mm
  • |
  • ISBN 9791162244210
판매가

36,000원

즉시할인가

32,400

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
32,400

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




파이썬 성능을 시원하게 올리는 사이다 코드 공개
누군가는 순차 프로세스를 빠르게 실행해야 하고, 다른 누군가는 멀티 코어 아키텍처, 클러스터, GPU를 제대로 활용하지 못해 애를 먹는다. 또 다른 누군가는 신뢰성을 잃지 않으면서도 주어진 예산 안에서 필요한 만큼의 프로세스를 사용할 수 있는 확장 가능한 시스템을 원한다. 어떤 사람은 코딩 실력이 부족함을 느끼기도 한다. 종종 다른 언어에서 차용한 기법이 예제에서 본 것만큼 자연스럽지 않기도 하다.
이 책은 이러한 파이썬의 성능 향상에 필요한 기법과 해결책을 다룬다. 성능상의 병목을 인지하여 더 빠르고 확장성이 뛰어난 해법을 구하는 실용적인 지침을 제공한다. 독자보다 먼저 문제에 직면했던 사람들이 고군분투했던 이야기를 통해 같은 문제로 힘 빼지 않도록 도와준다.

▶ 파이썬 3 대응!
▶ 사전 지식
- 파이썬 중급
▶ 먼저 보면 좋은 책
- 『혼자 공부하는 파이썬』
- 『처음 시작하는 파이썬(2판)』
- 『나의 첫 파이썬(2판)』
- 『파이썬 정복』

대상 독자
파이썬을 충분히 사용해보았고 특정 부분이 왜 느린지 생각해본 적이 있으며, 이를 위한 해법으로 거론되는 사이썬, 넘파이, PyPy 같은 기술을 들어본 독자가 대상이다. 또한 다른 언어로 프로그래밍해본 경험이 있어서 성능을 개선하는 방법이 여러 가지임을 아는 독자를 대상으로 한다. 또한 데이터 이동 문제를 포함하여 손쉽게 성능을 높일 수 있는 JIT 컴파일러(예컨대 PyPy)와 비동기 I/O를 사용하는 방법 등 웹 개발자가 직면할 수 있는 문제도 다룬다.
이 책은 중고급 파이썬 프로그래머를 위한 책이다. 의욕이 넘치는 초보 파이썬 프로그래머도 잘 따라올 수 있겠지만, 이 책을 읽기 전에 파이썬 기초를 먼저 다지기를 추천한다.

주요 내용
● 넘파이, 사이썬, 프로파일러 더 잘 이해하기
● 파이썬이 하부의 컴퓨터 아키텍처 추상화 방법 배우기
● 프로파일링을 통해 CPU 소비 시간이나 메모리 사용량에서 병목 찾기
● 적절한 데이터 구조를 선택해 효율적인 프로그램 작성하기
● 행렬과 벡터 계산의 속도 높이기
● 파이썬을 기계어로 번역하는 도구 사용하기
● 다양한 입출력과 계산 연산을 동시 실행하고 관리하기
● 다중 프로세싱 코드를 지역, 원격 클러스터에서 실행하도록 변환하기
● 도커 등의 도구를 사용해 빠르게 프로그램 배치하기


목차


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)

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 : 070-4821-5101
교환/반품주소
  • 부산광역시 부산진구 중앙대로 856 303호 / (주)스터디채널 / 전화 : 070-4821-5101
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.