검색
색인
최적화, 最適化, optimization
실행 시간 또는 필요로 하는 기억 용량에 관하여 효과가 좋은 프로그램을 생성하는 데 필요한 처리. 부호 최적화라고도 한다. 크게 기계에 독립적인 것과 의존하는 것으로 나뉜다. 전자에는 상수(常數)에 관한 계산을 하는 것과 같은 컴파일할 때의 계산, 공통항이나 공통식이 하나의 블록 내에 여러 번 나타날 때 하나만 계산하여 그 결과를 다른 것에 대입함으로써 공통 부분을 삭제하는 것, 루프 중 불변 부분은 루프 밖으로 이동하는 등의 루프에 관한 것, 데이터 플로 해석을 쓰는 것, 논리식을 최적화하는 것 등이 있다. 후자의 기계 의존적인 것에는 기계 명령의 불필요한 부분을 생략하거나 여러 개의 레지스터가 있을 때 레지스터의 할당을 고려하는 것 등이 있다.