1 关于不同逻辑分支的执行时间处理
预备函数 :
BOOL TestFun1(BOOL& bInfo)
{
CStringArray ary;
return (!bInfo && ary.GetCount() == 0);
}
BOOL TestFun2(BOOL& bInfo)
{
CStringArray ary;
return (ary.GetCount() == 0 && !bInfo);
}
BOOL TestFun3(BOOL& bInfo)
{
CStringArray ary;
if (bInfo)
return FALSE;
if (ary.GetCount() == 0)
return TRUE;
return FALSE;
}
执行 10000*10000次
结果如下:
bInfo = TRUE时
860, 890, 844
bInfo = FALSE时
894, 844, 875
具体时间有一定的浮动 未见明显差异
预备函数 :
BOOL TestFun1(BOOL& bInfo)
{
CStringArray ary;
return (!bInfo && ary.GetCount() == 0);
}
BOOL TestFun2(BOOL& bInfo)
{
CStringArray ary;
return (ary.GetCount() == 0 && !bInfo);
}
BOOL TestFun3(BOOL& bInfo)
{
CStringArray ary;
if (bInfo)
return FALSE;
if (ary.GetCount() == 0)
return TRUE;
return FALSE;
}
执行 10000*10000次
结果如下:
bInfo = TRUE时
860, 890, 844
bInfo = FALSE时
894, 844, 875
具体时间有一定的浮动 未见明显差异