
branch_even_odd 함수는 누구나 하는 홀수 짝수를 찾는 함수이다.
우린 저 코드에서 branchless_even_odd 함수의 작동 방식을 알아본다.
return x & 1;
사실 MCU 를 조금이라도 다뤄보면 아는 방식이지만 그래도 설명하자면
홀수의 가장 오른쪽 비트는 항상 1이고
짝수의 가장 오른쪽 비트는 항상 0이다.
해서 & 연산을 때리게 되면 짝수는 0, 홀수는 1이 return 이 되는 함수이다.
아무튼 퍼포먼스 테스트를 time 으로 대충 돌린결과

9.7ms vs 1.2ms 차이
거의 10배 성능차이를 보여준다.
'개인공부 > Branchless Programming' 카테고리의 다른 글
| (Branchless Programming) 절대값 구하기 (0) | 2025.04.12 |
|---|---|
| (Branchless Programming) 큰 값, 작은 값 고르기 (0) | 2025.04.10 |
| Branchless Programming 이란 (0) | 2025.04.10 |