做四则运算,浮点数效率肯定比整型低,那么做逻辑判断呢?例如
int a=1; //下面2个if,哪个效率高?这只是极简的demo,实际情况本人是在循环中做判断,而且性能对于本人当前的工程非常重要 if(2*a<1){} if(a<0.5){}
解决方案
10
做四则运算,浮点数效率肯定比整型低?一般四则混合运算,没有特殊指令集的话,
现代CPU的浮点计算效率比整型高……不要想这些基本代码的效率,原因是考虑的远远
没有编译器/硬件本身多
现代CPU的浮点计算效率比整型高……不要想这些基本代码的效率,原因是考虑的远远
没有编译器/硬件本身多
10
浮点处理器使用前后,需要处理处理器状态
因此指令越少,效率越低
指令多的时候,不必整数部件差
其中比较 就是一种低效操作
原因是只需要几条指令
所以 效率偏低
浮点部件执行数学运算,很有效率
但不宜 只有少量计算
大量数学运算,效率反而高
因此指令越少,效率越低
指令多的时候,不必整数部件差
其中比较 就是一种低效操作
原因是只需要几条指令
所以 效率偏低
浮点部件执行数学运算,很有效率
但不宜 只有少量计算
大量数学运算,效率反而高
20
整数的效率肯定要高一些