본문 바로가기
IT 도서 리뷰

[서평] 고성능 파이썬 2판 High Performance Python (미샤 코렐릭, 이안 오스발트 지음, 한빛미디어) - 파이썬 고수로 거듭나기 위한 지침서

by 새봄아빠 2021. 5. 23.

파이썬 성능, 잠재력을 끌어내는 실용적인 개발 전략서

고성능 파이썬 2판 High Performance Python

(미샤 고렐릭, 이안 오스발트 지음, 오현석 옮김, 한빛미디어)



파이썬을 비롯하여 프로그래밍 언어를 배운다는 건 컴퓨터를 이용해 무엇인가를 만들어보고 싶기 때문일 것입니다. 많은 언어들 중에서도 사람들이 파이썬을 선택하는 이유는 무엇일까요?

 

일단 저 같은 경우는 문법이 배우기 쉽다는 것이 가장 큰 매력이었고 또 다른 이유는 다양한 영역과 관련된 코딩을 직접 해볼 수 있는 것이 큰 장점이었지요. 이를테면 평소에 관심이 많았던 데이터 분석, 인공지능 같은 부분까지도 직접 경험해 볼 수 있다는 것이 큰 매력으로 다가왔습니다.

 

파이썬은 쉽게 배울 수 있는 언어인 반면에, 다시말해 고수준의 언어이기 때문에 이를 실행해주는 운영체제나 컴퓨터 시스템 전반을 이해할 필요가 거의 없습니다. 이것은 큰 장점이지만 또 어떻게 보면 시스템의 성능을 최대한 활용하지 못한다는 단점일 수도 있지요.

 

물론 저 같은 초보자의 경우는 시스템의 성능까지 걱정해가며 코딩을 할 필요는 없을 지도 모릅니다. 요즘 컴퓨터 성능이 워낙 좋으니까요. 그러나 데이터 분석이나 인공지능으르 공부하다보니 생각보다 훨씬 큰 사이즈의 데이터를 다루면서 컴퓨터가 생고생을 하는 것을 많이 봅니다. (기다리는 제가 더 고생을...) 

 

파이썬의 기초 문법을 공부하고 간단한 프로그램을 만드는 것을 넘어 성능까지 고려하는 멋진 프로그램을 만들어보고 싶다면 이 책을 읽어보면 어떨까요?



일단 솔직하게 말하면 제 수준에 이 책은 매우 어려웠습니다. 제가 그동안 읽어보았던 파이썬 책들 중에 가장 어렵지 않았나 싶습니다. (제 수준을 탓해야지요!!)

 

저자가 밝히고 있듯이 이 책은 중고급 파이썬 프로그래머를 위한 책입니다. 내가 만든 프로그램이 잘 돌아가는 것을 넘어서서 더 빠르고 효율적으로 돌아갈 수 있는 방법에 대한 고민이 있는 분들이라면 충분히 읽어보실만 합니다. 진짜 찐 고수가 되는 것이지요!

 

예를 들면 저 같은 경우는 파이썬의 리스트나 튜플 중에 무엇을 쓸 것인가에 대해서는 그리 큰 고민을 하지 않습니다. 그냥 떠오르는 대로, 아니면 습관대로 선택해서 사용하는 경우가 많습니다. 제가 만드는 수준의 프로그램에서는 리스트냐 튜플이냐는 대세에 큰 지장을 주지 않기 때문입니다. 

 

 

이 책에서는 리스트와 튜플(3장)을 비교하면서 자료구조, 용도, 복잡도, 차이점 들을 자세하게 설명하며 성능의 차이를 알려줍니다. 리스트는 동적배열이고 튜플은 정적 배열이라 어떤 차이가 발생하는 지를 저수준의 자료구조 단계에서 부터 설명합니다.

 

이 외에도 이터레이터와 제너레이터 C언어 컴파일, 비동기 I/O, 멀티프로세싱 모듈, 클러스터와 작업 큐, RAM 사용 등 성능개선을 위한 다양한 주제를 상세히 다루고 있습니다.

 


솔직히 지금 저의 수준에서는 이해하기 어려운 부분이 더 많습니다. 파이썬에 대한 기초적인 수준의 코딩으로도 충분하다면 굳이 필요없는 책일 수는 있지만 보다 전문적인 코딩, 성능 개선까지도 중요한 기준으로 가지고 계신 분이라면 충분히 도움이 되는 책인 것 같습니다.

 

저도 지금 당장은 다 이해하지 못하였지만 파이썬을 계속 공부해가면서 틈틈히 이 책을 정독하며 성능 개선에 까지 관심을 갖는 코더가 되어야겠습니다!!

 

 

어린 시절 C언어를 공부하며 포인터와 배열에서 좌절하던 때가 생각나네요. 그 당시에는 메모리를 아끼기 위해 변수형이 1바이트이냐, 2바이트이냐, 4바이트이냐까지 고려하며 코딩을 했었는데 말이지요.

 

https://blog.naver.com/vccsmath/222151169129

 

DOS 시절의 향수를 불러일으키는 책, 엔진 프로그래머들은 꼭 읽어볼 필독서 :: 게임 엔진 블랙 북

어린 시절부터 컴퓨터 프로그래밍에 관심이 많았다. 아니 그 보다는 컴퓨터로 하는 무엇인가가가 늘 즐거웠...

blog.naver.com

 

몇 달 전에 읽었던 이 책 기억도 떠오르네요. 컴퓨터 성능을 극대화하며 그 당시로서는 전혀 다른 수준의 게임을 만들었던 과정을 보여줍니다.(제가 쓴 글인데.. 다른 블로그에 올렸었네요..ㅋ)

 

https://it4edu.tistory.com/163 

 

[서평] 리팩터링 2판 Refactoring (마틴 파울러 지음, 한빛미디어) - 나의 코드가 고급스러워진다. 초

코드 구조를 체계적으로 개선하여 효율적인 리팩터링 구현하기 리팩터링 2판 REFACTORING (마틴 파울러 지음, 개앞맵시, 남기혁 옮김, 한빛미디어) 저는 한국 사람입니다. 그래서 우리말을 유창하게

it4edu.tistory.com

그리고 이 책도! 이 책은 정말 강추합니다!! 오늘 서평을 작성한 책이 시스템적이니 성능 향상을 위한 책이었다면 이 책은 코드 작성의 최적화를 위한 책으로써 지금도 종종 꺼내서 보고 있는 책입니다. ^^

 


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다"


YES24에서 책보기

https://bit.ly/2QHc25K

 

고성능 파이썬

파이썬의 성능을 제대로 올려주는 코드 작성법 파이썬 코드가 제대로 동작하더라도 더 빠르게 실행되도록 해야 할 때가 있다. 이 책은 파이썬 3에 맞춰 내용을 보강한 개정판으로, 처리할 데이

www.yes24.com


 

댓글1