在回答这一问题之前,请考虑事务组的预测。
我有一些假想,在职能协调人的帮助下,我可以用要求履行职务来取代有条件的声明。 与此类似。 (你可以考虑以遗产方案为基础,为类似类型的sen)
class Shape
{
float Area()
{
if(type == SQUARE)
{
return length*length;
}
else if(type == RECTANGLE)
{
return length*breadth;
}
}
}
也可以这样写。
class Shape
{
void SetAreaFunction(void *funcptr)//this function is used to set the current AreaFunc
{
CurrentAreaFunc = funcptr ;//this holds the pointer to current area func
}
float SqauareArea();//this will return square area
float RectangleArea();//this will return rectangle area
float Area()
{
currentAreaFunc();
}
}
国际人权联合会认为,这两种情况都取得了相同的结果。 但我想到的是业绩管理。 在第二种情况下,Im通过职能电话避免出现分支预测问题。
现在让我知道,在这种意见中,哪些是更好的实践和更好的优化守则。
P.S.:我看不出有人详细概述哪怕是《集会法》中哪怕是“不好的分支预测”。
Update: After profiling (similar kind of above code),
If Condition succeeded in this kind of senario.Can any one give a reason for this?
Functional call code can be prefetched as there is no Branching code right? But here its looks the other way..branching code wins! :O
Profiled on Intel Mac Osx,GCC O3/Os optimisation.