C语言优化实例:循环中减少判断
来源:互联网 发布:sql 分页查询 编辑:程序博客网 时间:2024/04/28 03:35
为了让编译器更好地优化循环,应该尽量让循环中减少判断,方法之一是将判断语句整合进表达式。还是这个例子:
for (int i = 0; i < 1000*10; i++){ sum += data[i/1000][i%10];}
假如我们需要加一个判断,只有非负整数才需要作求和运算:
for (int i = 0; i < 1000*10; i++){ if (data[i/1000][i%10] >= 0) sum += data[i/1000][i%10];}
下面将这个判断语句整合进表达式:
for (int i = 0; i < 1000*10; i++){ sum += (data[i/1000][i%10] >= 0) * data[i/1000][i%10];}
注意这种将判断语句整合进表达式的方法不一定在任何情况下奏效。如果if条件为真的可能性很大,那么可以考虑这样整合;如果这样整合让逻辑变得很复杂,当然不建议这样做,因为编写简约明了的代码是非常重要的。最好的方法就是实际测试两个版本的性能,然后选取性能更优的。
0 0
- C语言优化实例:循环中减少判断
- C语言循环中减少判断——————【Badboy】
- C语言优化实例:不在循环中return
- C语言优化实例:多层循环的优化
- c语言循环优化
- 【C语言】——C语言中scanf函数在循环中的错误处理实例代码
- C语言判断分支循环函数杂记
- 实例讲解 C 语言的循环结构
- c语言—循环结构编程实例
- C语言循环总结以及实例讲解
- C语言循环总结以及实例讲解
- C语言中循环结构
- C语言中循环结构
- 重试C语言之C语言判断和循环
- 能给几个实例吗 C语言中循环语句有那些
- C语言常规优化策略——循环优化
- 前端性能优化:重写自己,减少判断
- C语言实验——判断素数(循环结构)
- poj1000-1002
- java学习第十一周
- Source Insight常用快捷键及注释快捷键设置
- 从双曲几何到Gauss-Bonnet-Chern定理
- LeetCode OJ - Binary Tree Postorder Traversal
- C语言优化实例:循环中减少判断
- Class02 图像混合Blending
- 华为OJ IP地址判断有效性
- C语言 如何获取文件名称 system dir
- POJ-2551
- CodeForces 349 C. Mafia
- Class03 改变图像对比度和亮度
- Class04 添加滑动条
- 小公司经营