최적화는 프로세서, 컴파일러, 사용할 수 있는 시스템 자원과 같은 여러 가지 요소를 고려해야 한다는 점에서 종합 예술과 같다. 최적화엔 절대적인 규칙이 없다. A 프로세서에서 통하는 최적화 기법이 B 프로세서에서는 시스템을 느리게 만든다.
프로그램의 코드 크기를 줄이면 데이터 크기가 늘어나고, 데이터 크기를 줄이면 코드가 늘어나는 것을 보면 최적화는 한쪽을 누르면 다른 쪽이 터지는 풍선과 같다. 이 책은 한정된 자원만 이용할 수 있는 임베디드 시스템에서 이룰 수 있는 최적화 방법을 제시하고, 프로그램의 동작 원리까지 상세하게 해설한다.
이 책이 제시하는 핵심 내용
임베디드 시스템을 위한 더 작고 빠른 코드를 작성하는 기법
이 책의 특징과 장점
- 처음 임베디드 시스템을 접하면서 겪는 문제와 의문점을 해설하면서 임베디드 시스템의 특징을 자세히 설명한다.
- 최적화에 필요한 포인터, 어셈블리, 링커와 로더, 프로그램 실행 과정을 상세하게 분석한다.
어떤 독자를 위한 책인가?
- 임베디드 프로그래머
- C 언어로 최적화를 공부하고 싶은 개발자
주요내용
- 비트 연산 활용
- 컴파일러 최적화와 코드 최적화
- 포인터 활용을 통한 최적화
- 임베디드 환경을 위한 변수 선택법
- 자료구조 다이어트 기법
- 루프 최적화 기법과 최적화를 부르는 표현
- 컴파일러 최적화와 ARM 환경의 최적화