<aside>
💡
프로그램 작성의 주 목적은 모든 가능한 조건에서 프로그램이 정확하게 동작하도록 하는 것
</aside>
효율적인 프로그램의 작성
- 적절한 알고리즘 및 자료구조의 선택
- 컴파일러가 효과적으로 최적화할 수 있는 코드 작성
- 컴파일러의 능력 / 한계를 이해할 필요성
- 언어 특성 때문에 어려운 최적화
- 코드 작성 방식에 따른 최적화 수준
- 멀티 코어 + 멀티 프로세서의 조합을 갖는 컴퓨터에서의 병렬 처리
프로그램 최적화
- 코드가 수행해야하는 작업을 가능한 효율적 - 불필요한 작업 제거
- 인스트럭션 수준 병렬성의 제공
대규모 프로그램의 최적화
- 코드 프로파일러로 병목 구간을 식별
- 내부 루프의 어셈블리 코드를 분석
- 메모리 참조 과다 , 레지스터 활용 부족 등 성능 저해 요인 제거
- 데이터 종속성 경로를 찾아 실행 시간의 하한을 예측, 수정
Previous Chapter
Next Chapter
1. 최적화 컴파일러의 능력과 한계