파이썬 성능, 잠재력을 끌어내는 실용적인 개발 전략서
고성능 파이썬 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에서 책보기
고성능 파이썬
파이썬의 성능을 제대로 올려주는 코드 작성법 파이썬 코드가 제대로 동작하더라도 더 빠르게 실행되도록 해야 할 때가 있다. 이 책은 파이썬 3에 맞춰 내용을 보강한 개정판으로, 처리할 데이
www.yes24.com
댓글