rational***
2019-10-12

빠른 코드를 작성하는 시간은 느린 코드를 작성하는 시간보다 결코 길지 않다. 이 책은 올바른 코드를 구현하면서도 빠른 C++ 프로그램을 만드는 최적화 방법을 소개한다. 습관적으로 쓰는 C++ 구문을 점검해보고 싶다면 35년 경력의 저자가 소개하는 10가지 기법으로 시작해보자.
이 책은 C++언어에 대하여 최적화를 하는 방법에 대해서 매우 자세하게 알려주는 책이다.
최신 C++17 기준으로 작성되어 있어 모던 C++을 배우고 이 책을 배우면 좋을 듯하다.
최적화에 대한 개념은 강조하지 않아도 매우 중요한 개념이다.
최적화가 이루어지지 않은 코드는 아무리 빠른 컴퓨터에서도 느리게 동작하고, 최적화가 잘 이루어진 코드는 저사양 PC에서도 빠르게 동작하기 때문이다.
기본적으로 알고있는 개념에서 부터 출발하여 최적화에 대한 개념을 쉽게 잡을 수 있으며 흥미도 높아진다.
C++17의 stringstream에 대한 소개도 빠지지 않았다.
아마 컴퓨터과학과를 전공하고 있는 사람이라면 허구한 날 보게 될 빅오에 대한 개념을 다시 설명하고 있다. 사실 알고리즘 최적화에 대한 설명에 대해서 빅오 노테이션이라는 개념 이 부분이 빠지면 섭하기도 하다.
놀랍게도 동시성 최적화에 대한 개념도 아주 상세하게 다루고 있다. 갈수록 병렬 프로그래밍에 대한 수요가 많아지고, 이에 대한 깊은 이해가 필수적인데 이러한 개념에 대해서 최적화를 이루는 개념을 다루고 있는 사실은 매우 반가웠으며, 또한 쓸모 있다고 생각한다.
놀랍게도 동시성 최적화에 대한 개념도 아주 상세하게 다루고 있다. 갈수록 병렬 프로그래밍에 대한 수요가 많아지고, 이에 대한 깊은 이해가 필수적인데 이러한 개념에 대해서 최적화를 이루는 개념을 다루고 있는 사실은 매우 반가웠으며, 또한 쓸모 있다고 생각한다.
이 책은 철저하게 C++을 중심으로 최적화에 대한 얘기를 이끌어내고 있다. 다른 언어에 대해서는 위의 기법이 활용이 안될 수 있을 뿐더러, 적용되지 않는 상황도 있을 것이다. 하지만 C++을 전문으로 하고 있는 사람에게는 꼭 필요한 책이라고 생각한다.