【发布时间】:2014-11-20 04:34:20
【问题描述】:
c++ 中什么速度更快?
布尔 b1;
if(b1 == true)或if(b1)?if(b1 == false)或if(!b1)?
【问题讨论】:
-
您的基准测试结果如何?大会怎么说?这很容易通过编译、测试和查看反汇编来验证
-
这几乎是无用的微优化。
-
这个问题似乎离题了,因为它是关于未成熟的纳米优化,最好通过实验来回答。
-
从风格的角度来看 if(b1 == true) 是可怕的。输入/阅读/出错的情况更少 - 而且更习惯 - 使用后者。
-
忽略其他 cmets:已知
if (b1)比if (b1 == true)快 11%,除了周三,它会慢 17%,除非您使用g++ -fallow-wednesday-specific-optimisations进行编译,在在这种情况下,它会快 23%。
标签: c++ optimization