Optimized C++

C++ 최적화 - 10점
커트 건서로스 지음, 옥찬호 옮김/한빛미디어

개인적으로 최근 C++은 현대적인 기능들을 쉽고 명시적으로 제공하는가에 많은 초점을 맞추고 있다고 생각한다. 새롭게 개정되고 있는 C++ 표준들은 C++11, 14, 17을 거쳐 최근에는 20에 대한 이야기가 이루어지고 있다. 숫자의 간격을 봐서 알겠지만 3년 단위로 새로운 표준들이 제시된다. 이러한 표준들은 다양한 자료구조, 알고리즘과 람다와 같은 기능들을 제공할 뿐 아니라 안정성, 성능까지 얻어갈 수 있게 하는 노력들이 이루어지고 있다. 

C++은 1980년대 만들어져 지금까지 다방면으로 사용되고 있는 훌륭한 개발 언어이긴 하지만 솔직히 그 동안 C++은 개발자들에게 다루기 어려운 언어인 것 또한 사실이다. 새로운 표준의 C++에 대해서 관심을 갖고 모니터링하는 것은 매우 중요하게 되었다. 하지만 빠르게 이해하기 위해서 C++에 대해서 잘 알고 있는 사람에게 직접적인 조언을 받고 싶은 적이 꽤 많았다. 그러면에서 Optimized C++책은 성능 및 코드 최적화를 하고 싶은 사람에게 그리고 내부 동작에 대한 이해를 원하는 사람에게 단비 같은 책이라고 할 수 있다. 

최고 성능을 구현하는 10가지 검증된 기법

저자인 커트 건서로스가 책 소개 부분에서 이야기했듯이 최적화에 대한 내용은 알아야할 기술들이 너무나도 많다. 그렇기에 10가지 최적화 내용들을 읽어가며 한줄 한줄 컴퓨터 과학에 대한 기본 이론 정보들을 밀집하고 있다는 느낌을 지울 수 없었다. 컴퓨터의 동작 방식과 각종 로우 레벨 용어들이 집약되어 있는 한 문단을 이해하려면 위키 또는 구글의 수 많은 블로그들을 통해서 도움을 받아야 할 수 있다. 물론 그럼에도 불구하고 한번쯤은 읽어보고 최적화 코드에 대해서 생각을 정리해보면 좋을 책이다. 

챕터 시작 글

각 챕터는 첫 소개 설명부터 시작하여 최적화 방법에 대한 설명 그리고 중간중간 최적화에 대한 가벼운 사례 및 예제 코드 그리고 마지막 마무리로 구성되어 있다.

챕터 마무리 정리

 

가장 재미있게 읽었던 챕터는 4장 문자열 최적화와 7장 문장 최적화이다. 사실 개발을 할 때 문자열은 공기처럼 알게 모르게 너무나도 많이 사용되는 것도 있고 예제 코드에 대해서 하나씩 최적화를 하게 되는데 장단점 그리고 성능을 정리하는 글 작성방식이 꽤 맘에 들었고 재미있었기 때문이다. 4장 7장의 내용들은 C++ 뿐 아니라 다른 언어에서도 최적화하는데 활용할 수 있다. 그 외 5장 알고리즘 최적화, 6장 동적 할당 변수 최적화, 9장 검색 및 정렬 최적화, 10장 자료구조 최적화등은 기존에 알고 있던 내용을 정리하는데 큰 도움이 되었다. 각 챕터별 의존성이 없기 때문에 필요한 챕터 또는 관심있는 챕터부터 읽어나가면 된다. 

이 책은 C++ 중급자에게 추천하지만 챕터별로 난이도가 상이하여 초급자 또한 읽어도 좋을꺼 같다. 

Tags

Read Next

*

*