본문 바로가기
dev, tech/c, c++

최적화

by 구띵 2006. 4. 6.

최적화 기법

- 좋은 알고리즘의 선택 : 가장 효율적인 것을 선택하는 것이 가장 근본적인 최적화 방법이다.

- 함수를 적절히 활용 : 함수를 사용하게 되면, 함수 호출을 위한 절차로 인해 오버헤드가 발생한다, 그러나 컴파일 결과 만들어지는 실행 파일의 크기가 작아진다. 그래서 속도와 크기와의 연관성을 잘 생각해서 함수를 사용해야 한ㄷ.

- 실수형을 사용하지 마라 : 왜냐하면 수치계산용 보조프로세서가 없는 경우에는 실수형의 연산은 너무도 더딘 속도이기 때문이다.

- 반복문 내를 최대한 간단히 하라. : 반복문 내를 간단히 하려면 함수 호출을 없애고, 필요한 계산은 반복문 밖에서 다 해 놓을 것과, 필요하다면 기계어로 직접 코딩하는 방법도 생각해 볼 수 있다.

- 재귀 호출 형태를 사용하지 마라 : 소스의 이해라는 측면에서는 긍정적인 요소가 있으나 실행 속도면에서는 바람직하지 못하다. 재귀 호출은 결국 함수의 호출이기 때문이다. 또, 재귀 호출은 시스템 내부 스택을 사용함으로써 스택 오버플로우로 인한 에러를 유발할 수 있어 위험하다.

 프로그램 개발시에는 재귀 호출 형태를 사용하더라도 최적화 단계에서는 재귀 호출의 제거 방법을 사용하다.

- 최적화의 단계는 항상 프로그램 작성시 최후의 단계여야 한다. : 일단은 효율성 보다는 읽기 쉬운 단순한 알고리즘을 사용하여 프로그램이 돌아가도록 해야한다.

 

 

'dev, tech > c, c++' 카테고리의 다른 글

포인터 #2 ( 구조체를 가리키는 포인터 )  (0) 2006.04.06
포인터 #1  (0) 2006.04.06
구조화 프로그래밍 (Strcutured Programming)  (0) 2006.04.06
스파게티 코드  (0) 2006.04.06
알고리즘의 분석  (0) 2006.04.04

댓글