Kernel : likely/unlikely macros
trax씨 홈에서 봤는데.. 별게 다있네요…
내용은 x가 됨직하면 likely 라고 쓰는것입니다.
예를들어 if (likely(x)) { … } else { …} 라는 코드에서
우리가 likely 라고 하였으므로 assembly 코드가 나올 때,
if-then 파트 쪽으로는 그냥 가도록 만들어주고
else 쪽으로 가려면 branch 하게 코드를 만들어줍니다.
반면 unlikely 라는 매크로는 then 쪽으로는 branch, else쪽으로는
branch없는 수행을 하게 해줍니다.
이런식으로 속도 향상을 본다는 아이디어입니다.