Branchless 프로그래밍이랑 조건문을 사용하지 않고, 가능한 조건 분기(branch) (if, else, switch, ?:) 없이 코드를 작성하여 성능 향상을 노리는 프로그래밍 기법이다.
CPU의 branch prediction 실패로 인한 파이프라인 flush 를 줄인다.
주로 최적화를 극한으로 끌어올려야 하는 환경에서 사용된다.
CPU는 분기를 예측하고 명령어를 미리 실행하는데, 예측이 틀리면 다시 돌아가서 파이프라인 flush를 일으킨다.
특히 if 조건문이 많으면 큰 영향을 미치는데 보통 비트연산 수학연산으로 대체한다.
'개인공부 > Branchless Programming' 카테고리의 다른 글
| (Branchless Programming) 홀수 짝수 구하기 (0) | 2025.04.16 |
|---|---|
| (Branchless Programming) 절대값 구하기 (0) | 2025.04.12 |
| (Branchless Programming) 큰 값, 작은 값 고르기 (0) | 2025.04.10 |