책 속 밑줄。
- 임베디드 소프트웨어의 최적화 규칙
1. 최선의 알고리즘이나 최적의 코드를 찾아라.
2. 시스템(특히 프로세서)을 잘 이해하라.
3. 개발 툴을 잘 이해하라.
2. 시스템(특히 프로세서)을 잘 이해하라.
3. 개발 툴을 잘 이해하라.
- ROM과 RAM의 메모리 최적화
- ROM
- 데드코드를 제거한다.
- 매크로나 인라인을 사용하지 않는다.
- 상수나 전역 변수를 대신 지역 변수를 사용한다.
- 표준 라이브러리 함수의 사용을 자제한다.
- RAM
- 함수의 호출은 깊지 않게 한다.
- 함수는 매크로나 인라인으로 대체한다.
- 구조체나 배열대신 포인터를 사용한다.
- 값이 변하지 않는 전역 변수는 상수화한다.
- 프로그램의 속도를 떨어뜨리는 대표적 요소는 다중 분기, 루프, 함수이다.
- 함수의 성능을 개선 하는 방법
- 속도 최적화를 할 때는 매크로 함수나 인라인을 사용한다. 이 방법을 사용하면 메모리 사용량이 늘어날 수 있다.
- 함수 호출 단계가 깊어질수록 오버헤드가 커진다. 그러므로 함수 호출 단계를 깊지 않게 유지한다.
- 인수 전달의 오버헤드를 줄인다. 오버헤드를 줄이려면 인자의 개수와 크기를 적합하게 선택한다.
- 가능하면 리프 함수로 구성한다.
-루프의 성능을 개선 하는 방법
- 루프의 횟수를 최대한 줄여라
- 가까운 루프들은 하나로 합치고, 루프 안에서의 계산은 되도록 밖에서 이루어지도록 유도하라.
- 루프 변수의 데이터 타입은 프로세서의 한 워드 크기로 하는 것이 좋고, 레지스터 변수를 사용하면 더욱 효과적이다.
- 반복에 사용되는 명령어는 비용이 적은 명령어를 사용하라.
음. 프로그램의 최적화 방법에 대해서 나와 있는 괜찮은 책이다.
자신의 프로그램 스킬을 예술의 경지까지 만들고 싶은 사람에게 추천해 주고 싶은 책이다. ㅋㅋ
자신이 평소에 짜던 프로그램에 잘못된 점이 무엇인지 알 것이니 말이다.
최적화란 프로그램 세계에서 매우 중요하다 ~ *
