분기문최적화1 임베디드 C 프로그래밍 속도 최적화 - 분기문 최적화 1. 다중 분기문의 비교문에 공통된 연산이 있다면, 연산 결과를 변수에 저장하여 사용하자. 아래 코드는 다중 if 분기문이고 각 비교문은 동일한 연산이 반복되는 코드이다. 디스어셈블리 코드 컴파일해 보면, 비교문에 동일한 연산이 반복되는 것을 알 수 있다. 즉, 동일한 연산이 코드 크기를 증가시키고 속도를 떨어뜨리고 있다. 이를 개선하기 위해선, 반복되는 연산을 변수에 저장하여 비교문에서 사용하면 된다. 아래 코드와 같이 반복되는 연산을 미리 계산 후 변수 k에 저장한다. 그리고 비교문에서는 수식이 아닌 변수를 이용한다. 디스 어셈블리 코드를 보면 비교문의 어셈블리 코드 개수가 줄어든 것을 확인할 수 있다.2. 다중 if 문은 switch 문으로 변경을 고려해보자. 위에서 개선한 코드는 다중 if 문의.. 2024. 7. 14. 이전 1 다음