쪽수
ISBN
브랜드
빠르고 간결한 C++을 위한 프로의 최적화 팁!
빠른 코드를 작성하는 시간은 느린 코드를 작성하는 시간보다 결코 길지 않다. 이 책은 올바른 코드를 구현하면서도 빠른 C++ 프로그램을 만드는 최적화 방법을 소개한다. 습관적으로 쓰는 C++ 구문을 점검해보고 싶다면 35년 경력의 저자가 소개하는 10가지 기법으로 시작해보자. 자원을 소비하고 실행 시간을 잡아먹는 부분을 찾아내 개선하다 보면 “와, 정말 빠른데! 누가 고쳤지?!”라는 말을 듣게 될지도 모른다. 실제 사례에 기반한 실용적인 팁으로 진정한 프로가 되어보자.
출판사 리뷰
C++은 자동화와 표현력부터 성능을 향상시키는 세밀한 제어까지, 다양한 옵션을 제공한다. 그래서 C++로 만든 프로그램에는 최적화할 여지가 곳곳에 숨어 있다. ‘코드를 제대로 작성하고 있는 걸까?’ 의심이 든다면 지금 최적화를 시작해보자. 프로그램 속도를 느리게 하는 ‘유력 용의자’를 검거하는 방법은 알고 보면 놀라울 정도로 간단하고 명쾌하다. 저자가 소개하는 풍부한 팁과 예제를 활용해 연습하다 보면 금세 뛰어난 성능을 내면서 가독성까지 높은 코드를 작성할 수 있다.
[이 책에서 다루는 10가지 최적화]
최적화는 최적화 자체의 효과가 아닌, 그 과정에서 개발자가 고민하고 깨달아야 하는 것에 본질이 있다. 이 책은 C++ 자체의 특성만으로 개발자가 무엇을 고민해야 하는지, 어떤 목적을 이루어야 하는지를 잘 짚고 있다.
__박수현, 『Thinking about C/C++』 저자
사례에 기반한 풍부한 조언의 보고! 이 책이야말로 최신 C++을 위한 믿을 만한 참고서다.
__제리 탄, 미국 청산예탁결제원(DTCC) 시니어 소프트웨어 개발자
CHAPTER 1 최적화란
1.1 최적화는 소프트웨어 개발의 일부입니다
1.2 최적화는 효과적입니다
1.3 최적화해도 괜찮습니다
1.4 여기에 나노초, 저기에 나노초
1.5 C++ 코드 최적화 전략 요약
1.6 마치며
CHAPTER 2 컴퓨터 하드웨어와 최적화
2.1 C++은 컴퓨터의 거짓말을 믿습니다
2.2 컴퓨터의 진실
2.3 C++도 거짓말을 합니다
2.4 마치며
CHAPTER 3 성능 측정
3.1 사고방식 최적화
3.2 실험 수행
3.3 프로그램 실행 프로파일
3.4 시간이 오래 걸리는 코드
3.5 코드 비용 추정하기
3.6 최적화할 코드를 찾는 다른 방법
3.7 마치며
CHAPTER 4 문자열 최적화
4.1 문자열이 왜 문제인가요
4.2 문자열 최적화 첫 번째 시도
4.3 문자열 최적화 두 번째 시도
4.4 문자열 변환 연산 제거하기
4.5 마치며
CHAPTER 5 알고리즘 최적화
5.1 알고리즘의 시간 비용
5.2 검색과 정렬을 최적화하는 툴킷
5.3 효율적인 검색 알고리즘
5.4 효율적인 정렬 알고리즘
5.5 최적화 패턴
5.6 마치며
CHAPTER 6 동적 할당 변수 최적화
6.1 C++ 변수
6.2 C++ 동적 변수 API
6.3 동적 변수 사용 줄이기
6.4 동적 변수의 재할당 줄이기
6.5 불필요한 복사 제거하기
6.6 이동 문법 구현하기
6.7 평평한 자료구조
6.8 마치며
CHAPTER 7 문장 최적화
7.1 반복문에서 코드 제거하기
7.2 함수에서 코드 제거하기
7.3 표현식 최적화
7.4 제어 흐름 최적화
7.5 마치며
CHAPTER 8 라이브러리 최적화
8.1 표준 라이브러리 최적화
8.2 기존 라이브러리 최적화
8.3 최적화된 라이브러리 설계
8.4 마치며
CHAPTER 9 검색 및 정렬 최적화
9.1 std::map과 std::string을 사용한 키/값 테이블
9.2 검색 성능 향상을 위한 툴킷
9.3 std::map을 사용한 검색 최적화
9.4 <algorithm> 헤더를 사용한 검색 최적화
9.5 해시 키/값 테이블 검색 최적화
9.6 스테파노프의 추상화 패널티
9.7 C++ 표준 라이브러리로 정렬 최적화
9.8 마치며
CHAPTER 10 자료구조 최적화
10.1 표준 라이브러리 컨테이너 알아보기
10.2 std::vector와 std::string
10.3 std::deque
10.4 std::list
10.5 std::forward_list
10.6 std::map과 std::multimap
10.7 std::set과 std::multiset
10.8 std::unordered_map과 std::unordered_multimap
10.9 다른 자료구조
10.10 마치며
CHAPTER 11 입출력 최적화
11.1 파일을 읽는 방법
11.2 파일 쓰기
11.3 std::cin으로 읽어서 std::cout으로 쓰기
11.4 마치며
CHAPTER 12 동시성 최적화
12.1 동시성
12.2 C++ 동시성 기능
12.3 C++ 프로그램 스레드 최적화
12.4 더 효율적인 동기화 만들기
12.5 동시성 라이브러리
12.6 마치며
CHAPTER 13 메모리 관리 최적화
13.1 C++ 메모리 관리 API
13.2 고성능 메모리 관리자
13.3 클래스 한정 메모리 관리자 제공하기
13.4 사용자 정의 표준 라이브러리 할당자 제공하기
13.5 마치며
전체 평점
4.8
오탈자를 발견하셨다면 작성해주세요.
30,400원
30,400원