首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

if else 以下两种用法 那种高效解决办法

2012-05-22 
if else 以下两种用法 那种高效C/C++ codevoid fun1(void){int varif (var 0){//执行这里大约的100条语

if else 以下两种用法 那种高效

C/C++ code
void fun1(void){    int var;    if (var > 0)    {        //执行这里大约的100条语句    }    else    {        //执行几条语句    }        return ;}void fun2(void){    int var;    if (!(var>0)    {        //执行几条语句        return ;    }        //执行这里大约的100语句 }


请问 上面的两个 函数 那个函数执行的效率高 
ps:两个函数里面的代码是一样的 只是 排列方式不一样 位置不一样

[解决办法]
这得看到底是var>0多一些还是!(var>0)多一些。
高质量的编程要求将最可能出现的情况放在前面。这符合人的思维习惯,也符合性能提升的要求。

顺序执行的时候,流水线的利用率是最高的。遇到跳转的时候,流水线就得清空,然后将跳转后的指令依次装入流水线。
if...else...通常编译成条件判断,如果条件成立,则执行后面的指令,如果条件不成立,跳转到else处...。
[解决办法]
好奇地问一下,楼主你们会用性能测试之类的工具检查自己程序的速度,瓶颈什么的嘛。如果用的话,自己可以用工具测一下。
如果你们不用工具测的话,就你举的这个例子,像这种小地方,很难说会影响性能,光靠自己猜测哪里会更快或者更慢,99%的时候你都是错的

热点排行