도서/IT 도서

[IT 도서 리뷰] C++ 최적화, Optimized C++, 한빛미디어

Chipmunks 2019. 8. 6.
728x90

< C++ 최적화, Optimized C++, 한빛미디어 >


한빛미디어에서 새로 출간한 C++ 최적화 도서다.

최적화의 필요성, 역사와 C++ 최적화의 베스트 프랙티스들을 다양한 주제로 제공합니다.


최적화를 할 때 기능 구현을 우선으로 하고 최적화를 진행하기도 하지만,

처음 기능을 구현할 때 조금만 신경 써서 베스트 프랙티스대로 코딩한다면, 별다른 최적화 투입 시간 없이 성능 저하를 미리 막을 수 있다는 점이 저자의 생각이다.


C++ 의 다양한 기능을 소개하고 장단점과 어떻게 하면 성능 저하를 막고 최적화를 할 수 있는지 서술한다. C++ 뿐 아니라 다른 언어에서도 충분히 적용할 수 있는 다양한 베스트 프랙티스를 제공한다.


< C++ 최적화 3장 성능 측정, 한빛미디어 >


초반부에는 최적화 소개와 하드웨어 배경, 최적화 관련 역사들을 소개한다.

3장은 성능 측정 단원으로 시간 측정을 메인 주제로 설명한다.

시간 측정은 어떤 원리로 하고, 하드웨어가 발전함에 따라

시간 측정 방법이 어떻게 변화되고 그 성능이 얼마나 좋아졌는지 상세히 설명한다.


시간 측정은 중요한 성능 지표이므로 반드시 읽어보면 좋을 내용이다.

따로 포스팅하고 싶을 정도로 도움이 많이 되었다.



4장부터 C++ 코드가 등장하기 시작하며 문자열 최적화 단원이 시작된다.

문자열에 관한 초보 개발자들의 많은 오해들을 해소시켜주고 문자열의 동작 원리를 낱낱이 파헤쳐줍니다. 자연스레 문자열을 어떻게 하면 최적화하는지 따라갈 수 있습니다.



6장은 동적 할당에 관한 베스트 프랙티스를 제공한다.

기존 C++ 에서 동적 메모리와 관련된 new, delete 를 소개하고

C++에 도입된 std::unique_ptr, std::make_shared 등 스마트 포인터들을 소개한다.

스마트 포인터들로 어떻게 메모리 누수를 막고 효율적으로 관리하는지 알려주어

많은 도움이 됐습니다.



그 다음에는 자료구조, 알고리즘 최적화를 소개합니다.

C++ 컨테이너 클래스로 자료구조를 쉽게 다룰 수 있지만, 기본적인

자료구조 이론과 C++로 구현된 자료구조 스펙들을 모른다면

어디서부터 최적화를 할 지 모릅니다.


어떤 상황일 때 어떤 자료구조와 알고리즘을 최적화하면 좋은지 자세하게 설명해 많은 도움이 됩니다.


후반부 12장에는 동시성(Concurrency)에 관련된 내용들을 소개하고

동시성이 운영체제와 하드웨어 단에서 어떻게 동적되고

C++ 클래스가 어떻게 동작되어 베스트 프랙티스가 무엇인지

알 수 있습니다.


책 구성 전체적으로 C++로 코딩할 때 흔히 직면하는 최적화 문제를 다루고 있다.

C++ 개발자들에게 좋은 베스트 프랙티스들을 제공하고 여러 동작 원리들을 소개하여

하드웨어와 소프트웨어 지식, 두 마리의 토끼를 모두 잡아준다.


책장에 늘 있어야 할 좋은 레퍼런스 책이었다.

댓글