为了让编译器更好地优化循环,应该尽量让循环中降低推断,方法之中的一个是将推断语句整合进表达式。还是这个样例:

  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条件为真的可能性非常大,那么能够考虑这样整合;假设这样整合让逻辑变得非常复杂。当然不建议这样做。由于编写简约明了的代码是非常重要的。

最好的方法就是实际測试两个版本号的性能。然后选取性能更优的。

最新文章

  1. Hadoop家族的各个成员
  2. spring入门教程——笔记
  3. RabbitMQ与Redis队列对比
  4. asp.net mvc 4 高级编程学习笔记:第四章 模型
  5. Web SQL Database实例
  6. jQuery的无new实例化
  7. Android学习笔记(九)一个例子弄清Service与Activity通信
  8. 小物件之radio单选列表
  9. 1.tomcat部署项目的几种方式和weblogic部署方式及一点通讯
  10. Struts学习之自定义拦截器
  11. java基础3
  12. ABP入门系列(13)——Redis缓存用起来
  13. 项目角度谈矢量切片运用以及Geoserver处理自定义规格矢量切片方案
  14. MUI框架的缩写输入
  15. [python]PyPI使用国内源
  16. fswatch rsync配置使用 rsync 传输大量细小文件
  17. Redis持久化——RDB快照
  18. zw版【转发&#183;台湾nvp系列Delphi例程】HALCON MaxImage1
  19. 【LeetCode】390. 消除游戏
  20. php字符串算术表达式计算

热门文章

  1. 使用vscode开发调试.net core应用程序并部署到Linux跨平台
  2. VMware vCenter Server安装与配置
  3. centos6.5 卸载adobeflash
  4. 建立新的acticity需要的注意的问题
  5. 利用 ildasm 修改被编译后DLL文件
  6. DeprecationWarning: current URL string parser is deprecated解决方法
  7. 【转】vector用法
  8. PL SQL 基础
  9. 基础认证伪造工具phishery
  10. 【后缀数组】【二分答案】poj3261