HOME > 상세정보

상세정보

고성능 파이썬 프로그래밍 : 벤치마킹, NumPy, Cython, 병렬처리 기술을 사용한

고성능 파이썬 프로그래밍 : 벤치마킹, NumPy, Cython, 병렬처리 기술을 사용한 (10회 대출)

자료유형
단행본
개인저자
Lanaro, Gabriele 이우현, 역
서명 / 저자사항
고성능 파이썬 프로그래밍 : 벤치마킹, NumPy, Cython, 병렬처리 기술을 사용한 / 가브리엘레 라나로 지음 ; 이우현 옮김
발행사항
서울 :   에이콘,   2016  
형태사항
125 p. : 삽화 ; 24 cm
총서사항
acorn+PACKT technical book
원표제
Python high performance programming : boost the performance of your Python programs using advanced techniques
ISBN
9788960778535 9788960772106 (Set)
일반주기
색인수록  
000 00000cam c2200205 c 4500
001 000045937924
005 20180403164134
007 ta
008 180403s2016 ulka 001c kor
020 ▼a 9788960778535 ▼g 94000
020 1 ▼a 9788960772106 (Set)
035 ▼a (KERIS)BIB000014065131
040 ▼a 211015 ▼d 222001 ▼c 211009 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.133 ▼2 23
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b P999 2016z19
100 1 ▼a Lanaro, Gabriele
245 1 0 ▼a 고성능 파이썬 프로그래밍 : ▼b 벤치마킹, NumPy, Cython, 병렬처리 기술을 사용한 / ▼d 가브리엘레 라나로 지음 ; ▼e 이우현 옮김
246 1 9 ▼a Python high performance programming : ▼b boost the performance of your Python programs using advanced techniques
260 ▼a 서울 : ▼b 에이콘, ▼c 2016
300 ▼a 125 p. : ▼b 삽화 ; ▼c 24 cm
440 0 0 ▼a acorn+PACKT technical book
500 ▼a 색인수록
700 1 ▼a 이우현, ▼e
900 1 0 ▼a 라나로, 가브리엘레, ▼e
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 P999 2016z19 등록번호 121244080 도서상태 대출중 반납예정일 2021-09-06 예약 예약가능 R 서비스 M

컨텐츠정보

책소개

acorn+PACKT 시리즈. 이 책은 파이썬 프로그램을 최적화하는 다양한 방법을 소개한다. 간단한 입자 시뮬레이션을 단계적으로 작성하면서 코드를 벤치마킹 및 프로파일링해 성능을 정확히 분석하고, 비효율적인 코드 패턴을 찾아 Cython과 NumPy 코드로 대체해 프로그램 성능을 최적화하는 방법을 학습한다.

multiprocessing 모듈과 IPython parallel 패키지 등을 사용해서 프로그램의 주요 연산을 병렬화해 실행 속도를 대폭 향상하는 방법도 소개한다. 파이썬 프로그래머라면 반드시 알아야 할 기본적인 파이썬 프로그램 최적화 개념과 방법을 다루는 책이다.

벤치마킹을 통한 프로그램 성능 측정, 파이썬 프로파일링 도구를 사용해 코드의 병목 지점 검출, 파이썬 루프를 NumPy로 대체해 코드 실행 속도 향상, C 언어 급의 성능을 끌어내기 위해 Cython 사용, 멀티코어 프로세서를 활용한 코드 작성, 애플리케이션 프로파일링, 최적화, 재작성 등을 다루고 있다.

★ 요약 ★

이 책은 파이썬 프로그램을 최적화하는 다양한 방법을 소개한다. 간단한 입자 시뮬레이션을 단계적으로 작성하면서 코드를 벤치마킹 및 프로파일링해 성능을 정확히 분석하고, 비효율적인 코드 패턴을 찾아 Cython과 NumPy 코드로 대체해 프로그램 성능을 최적화하는 방법을 학습한다. multiprocessing 모듈과 IPython parallel 패키지 등을 사용해서 프로그램의 주요 연산을 병렬화해 실행 속도를 대폭 향상하는 방법도 소개한다. 파이썬 프로그래머라면 반드시 알아야 할 기본적인 파이썬 프로그램 최적화 개념과 방법을 다루는 책이다.

★ 이 책에서 다루는 내용 ★

■ 벤치마킹을 통한 프로그램 성능 측정
■ 파이썬 프로파일링 도구를 사용해 코드의 병목 지점 검출
■ 파이썬 루프를 NumPy로 대체해 코드 실행 속도 향상
■ C 언어 급의 성능을 끌어내기 위해 Cython 사용
■ 멀티코어 프로세서를 활용한 코드 작성
■ 애플리케이션 프로파일링, 최적화, 재작성

★ 이 책의 대상 독자 ★
이 책은 고성능 애플리케이션을 개발하는 중상급 파이썬 개발자를 위한 책이다. 대부분의 예제는 과학 연구 관련 애플리케이션에서 사용되는 코드로 빠른 수학 연산 처리가 필수인 과학자나 엔지니어에게 적합하다.
하지만 이 책에서 다루는 내용은 모든 분야에 적용될 수 있다. 기본 개념부터 상급 주제까지 다양한 내용을 다루기 때문에 대부분의 파이썬 개발자라면 누구에게나 도움이 될 것이다.

★ 이 책의 구성 ★

1장, '벤치마킹과 프로파일링'에서는 프로그램 내 최적화가 필요한 부분을 찾는 방법을 알아본다. 상황에 맞는 도구를 사용하고 프로파일링 결과를 분석 및 해석하는 방법을 학습한다.

2장, 'NumPy를 사용한 빠른 배열 처리'에서는 NumPy 패키지 사용 방법을 설명한다. NumPy는 배열 연산을 빠르게 처리하는 파이썬 프레임워크다. 사용법이 쉬우며 간결한 API를 제공하고 효율적으로 배열 연산을 수행한다.

3장, 'Cython'에서는 Cython 사용법을 소개한다. Cython은 파이썬과 C 언어 사이의 다리 역할을 하는 언어다. 파이썬의 상위 집합 언어며 파이썬 코드를 빠른 C 익스텐션으로 컴파일한다.

4장, '병렬처리'에서는 병렬 프로그래밍의 기본 개념을 살펴본다. 병렬과 직렬 프로그래밍의 차이를 설명하고 간단한 문제를 병렬 프로그램으로 작성해본다. multiprocessing과 IPython.parallel, cython.parallel을 사용해 멀티코어 프로세서를 활용하는 프로그램도 작성한다.


정보제공 : Aladin

저자소개

가브리엘레 라나로(지은이)

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

이우현(옮긴이)

위스콘신대학교 매디슨과 서울대학교에서 컴퓨터 공학 학사와 석사 학위를 취득했다. 번역서로는 『그들은 어떻게 최고의 정치학자가 되었나』(후마니타스, 2012), 『고성능 파이썬 프로그래밍』(에이콘, 2016), 『파이썬 디자인 패턴 2/e』(에이콘, 2018)이 있다.

정보제공 : Aladin

목차

1장. 벤치마킹과 프로파일링 
__애플리케이션 디자인 
__테스트와 벤치마크 작성 
____벤치마크 실행 시간 측정 
__cProfile을 사용하여 병목지점 찾기 
__line_profiler를 사용한 라인 프로파일링 
__코드 최적화 
__dis 모듈 
__memory_profiler를 사용한 메모리 사용 프로파일링 
__파이썬 코드 튜닝 팁 
__요약 

2장. NumPy를 사용한 빠른 배열 연산 수행 
__NumPy 
____배열 생성 
____배열 접근 
____브로드캐스팅 
____수학 연산 
____노름 계산 
__NumPy를 사용하여 입자 시뮬레이터 개선 
__numexpr를 사용한 성능 개선 
__요약 

3장. Cython 
__Cython 확장 모듈 컴파일 
__정적 타이핑 
____변수 
____함수 
____클래스 
__코드 공유 
__배열 다루기 
____C 배열과 포인터 
____NumPy 배열 
____자료형이 지정된 메모리뷰 
__Cython 입자 시뮬레이터 
__Cython 프로파일링 
__요약 

4장. 병렬처리 
__병렬 프로그래밍 
__multiprocessing 모듈 
____Process와 Pool 클래스 
____몬테 카를로 원주율 
____동기화와 잠금 
__IPython parallel 
____direct 인터페이스 
____작업 기반 인터페이스 
__OpenMP를 사용한 병렬 Cython 
__요약

관련분야 신착자료