분기 예측과 컴파일러 최적화의 영향으로 어떤 코드가 우수한 성능을 제공합니까?
bRareExceptionPresent는 일반적이지 않은 조건을 나타냅니다. 정상적인 논리 경로가 아닙니다.
/* MOST COMMON path must branch around IF clause */
bool SomeFunction(bool bRareExceptionPresent)
{
// abort before function
if(bRareExceptionPresent)
{
return false;
}
.. function primary body ..
return true;
}
/* MOST COMMON path does NOT branch */
bool SomeFunction(bool bRareExceptionPresent)
{
if(!bRareExceptionPresent)
{
.. function primary body ..
}
else
{
return false;
}
return true;
}