이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
파이썬 성능 높이기 2/e
프로그램 병목 찾기부터 파이썬 구현 선택, 병렬 시스템 확장까지
베스트
프로그래밍 언어 top100 3주
가격
28,000
10 25,200
YES포인트?
1,400원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
배송안내
서울특별시 영등포구 은행로 11(여의도동, 일신빌딩) 변경
배송비?
무료

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

이 분야의 이벤트

책소개

목차

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 배열
____Dask Bag과 DataFrame
____Dask distributed
__파이스파크 사용하기
____스파크와 파이스파크 설정
____스파크 아키텍처
____RDD
____스파크 데이터프레임
__mpi4py를 사용한 과학기술 컴퓨팅
__요약

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

저자 소개 2

가브리엘레 라나로

관심작가 알림신청
 

Gabriele Lanaro

중대형 컴퓨터 시뮬레이션을 사용한 결정체의 형성과 성장 연구를 수행해왔다. 2017년 이론 화학에서 박사 학위를 취득했다. 머신 러닝과 수치 계산 시각화, 웹 기술에 관심사가 걸쳐 있다. 좋은 소프트웨어를 향한 열정을 갖고 있으며 오픈 소스 패키지인 chemlab, chemview의 저자다. 이 책의 초판인 『고성능 파이썬 프로그래밍』(에이콘, 2013)을 썼다.
다양한 경험을 추구하며 사는 개발자다. 프로그래밍 언어와 사람이 쓰는 언어 모두에 관심이 있다. 검색엔진, 모바일 메신저 앱, 회원 서비스, 지역 검색, 운영 도구, 사용자 참여 콘텐츠 서비스를 개발하고 있다. 사람이 데이터를 만들고 데이터가 흐르면서 다양한 일이 생기는 것에 재미를 느낀다. 옮긴 책으로는 『데이터 접근 패턴 Data Access Patterns』(2013, 에이콘), 『자연어 텍스트 처리를 통한 검색 시스템 구축』(2014, 에이콘), 『파이썬 성능 높이기 2/e』(2018, 에이콘)이 있다. 인터넷 세상의 언어에 관심이 많은 개발자다. 지금은 어떻게 하면 검색
다양한 경험을 추구하며 사는 개발자다. 프로그래밍 언어와 사람이 쓰는 언어 모두에 관심이 있다. 검색엔진, 모바일 메신저 앱, 회원 서비스, 지역 검색, 운영 도구, 사용자 참여 콘텐츠 서비스를 개발하고 있다. 사람이 데이터를 만들고 데이터가 흐르면서 다양한 일이 생기는 것에 재미를 느낀다. 옮긴 책으로는 『데이터 접근 패턴 Data Access Patterns』(2013, 에이콘), 『자연어 텍스트 처리를 통한 검색 시스템 구축』(2014, 에이콘), 『파이썬 성능 높이기 2/e』(2018, 에이콘)이 있다. 인터넷 세상의 언어에 관심이 많은 개발자다. 지금은 어떻게 하면 검색을 통해 좋은 연결을 만들 수 있을지 고민하는 일을 주로 하고 있다.

임혜연의 다른 상품

품목정보

발행일
2018년 11월 30일
쪽수, 무게, 크기
340쪽 | 792g | 188*235*22mm
ISBN13
9791161752419

출판사 리뷰

이 책에서 다루는 내용

- NumPy와 Pandas 라이브러리로 효율적인 수치 계산 코드 작성하기
- Cython과 Numba를 사용해 네이티브 성능 달성하기
- 프로파일러로 파이썬 코드의 성능 병목 찾기
- Asyncio와 RxPy를 사용해 비동기 코드 작성하기
- 파이썬에서 텐서플로와 테아노를 사용해 자동으로 병렬 처리하기
- Dask와 PySpark를 사용해 클러스터에 분산 알고리즘 설정, 실행하기

이 책의 구성

1장, ‘벤치마크와 프로파일링 파이썬’에서는 프로그램 성능을 평가하는 방법과 코드의 느린 부분을 알아내고 고립시키는 실용적인 전략을 알려준다.
2장, ‘순수 파이썬 최적화’에서는 파이썬 표준 라이브러리와 순수 파이썬 서드파티 모듈이 제공하는 효율적인 데이터 구조와 알고리즘을 사용해 실행 시간을 수십 배 단위로 향상시키는 방법을 다룬다.
3장, ‘NumPy와 Pandas를 사용한 고속 배열 연산’에서는 NumPy와 Pandas 패키지에 대한 안내를 한다. 이 패키지를 정복하면 빠르게 동작하는 수치적 알고리즘을 표현력 좋고 간결한 인터페이스로 구현할 수 있게 된다.
4장, ‘Cython으로 C 성능 얻기’에서는 효율적인 C 코드를 생성하기 위해 파이썬 호환 문법을 사용하는 언어인 Cython을 살펴본다.
5장, ‘컴파일러 탐구’에서는 파이썬을 효율적 기계어 코드로 컴파일하는 데 사용할 수 있는 도구를 다룬다. 파이썬 함수를 최적화하는 컴파일러인 Numba와 파이썬 프로그램을 실행하면서 바로 최적화할 수 있는 대안 인터프리터인 PyPy를 사용하는 방법을 배운다.
6장, ‘동시성 구현’에서는 비동기적 프로그래밍 및 반응형 프로그래밍에 대한 지침을 알아본다. 여기서는 주요 용어와 개념을 배우고, asyncio와 RxPy 프레임워크를 사용해 깔끔한 동시성 코드를 작성하는 방법을 시연할 것이다.
7장, ‘병렬 처리’에서는 다중 코어 프로세서와 GPU에서의 병렬 프로그래밍을 소개한다. multiprocessing 모듈을 사용하고 코드가 테아노(Theano)와 텐서플로(Tensorflow)를 사용하도록 해 병렬성을 얻는 법을 배운다.
8장, ‘분산 처리’에서는 대규모 문제와 빅데이터를 위한 분산 시스템에서 병렬 알고리즘을 실행하는 데 초점을 두고 7장의 내용을 확장한다. Dask, PySpark, mpi4py 라이브러리를 다룬다.
9장, ‘성능을 높이는 설계’에서는 고성능 파이썬 애플리케이션 개발과 테스트, 배포를 위한 일반적 최적화 전략과 모범 사례를 다룬다.

지은이의 말

파이썬 프로그래밍 언어는 문법이 직관적이고 재미있으면서 최고 품질의 서드파티 라이브러리가 다양한 덕분에 최근 몇 년 동안 급격히 큰 인기를 얻었다. 수많은 대학 입문 강좌와 고급 강좌에서 꼽힌 데 더해 과학과 엔지니어링 분야와 같이 집중적으로 숫자를 다루는 분야를 위해서도 선택됐다. 머신 러닝과 시스템 스크립팅, 웹 애플리케이션도 파이썬이 주로 활용되는 영역이다.

대부분이 C나 C++, 포트란(Fortran)과 같은 저수준 언어에 비해 레퍼런스 파이썬 인터프리터인 CPython이 비효율적이라고 여긴다. CPython의 성능이 형편없는 이유는 프로그램 명령instruction을 효율적인 기계어 코드로 컴파일하는 대신 인터프리터가 처리하기 때문이다. 인터프리터를 사용하면 이식성이 좋아지고 추가적 컴파일 단계가 없어지는 등 몇 가지 장점이 있지만 프로그램과 기계 사이에 간접 계층이 더해져 실행 효율성이 떨어진다.

몇 년에 걸쳐 CPython의 성능 문제를 극복하기 위해 많은 전략을 개발했다. 이 책의 목적은 그 간극을 메우고 일관적으로 파이썬 프로그램의 성능을 강하게 만들 방법을 가르치는 것이다. 이 책은 숫자를 다루는 코드 및 과학적 코드의 최적화를 다룰 뿐만 아니라, 웹 서비스와 애플리케이션의 응답 시간을 개선하는 전략까지 다뤄 많은 독자들에게 도움될 것이다.

리뷰/한줄평1

리뷰

첫번째 리뷰어가 되어주세요.

한줄평

10.0 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정
25,200
1 25,200