博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《代码大全》阅读笔记-26-代码调整技术
阅读量:6867 次
发布时间:2019-06-26

本文共 636 字,大约阅读时间需要 2 分钟。

核对表(代码调整方法)

同时改善代码执行速度和规模

  • 用査询表替换复杂逻辑。
  • 合并循环
  • 使用整型变量而非浮点变量。
  • 在编译时初始化数据。
  • 使用正确的常量类型。
  • 预先计算结果。
  • 删除公共子表达式。
  • 将关键子程序代码转化为某种低级语言代码。

仅仅提高代码执行速度

  • 在知道答案后就停止执行判断。
  • 根据各种情况的出现频率子句排序。
  • 比较相似逻辑结构的性能。
  • 使用惰性求值
  • 将循环中的if判断转到外部。
  • 展开循环。
  • 将循环内部所做的工作减少到最低限度。
  • 在査找循环中使用哨兵。
  • 把执行最为频繁的循环放在嵌套循环的最里面。
  • 减轻内层循环的强度。
  • 将多维数组改为一维数组。
  • 最大限度减少数组索引。
  • 为数据类型扩充索引。
  • 对频繁使用的值进行缓存。
  • 利用代数恒等式。
  • 降低逻辑和数学表达式的强度。
  • 注意系统调用。
  • 用内联子程序重写代码。

要点

  • 优化结果在不同的语言、编译器和环境下有很大差异。如果没有对每一次的优化进行测量,你将无法判断优化到底是帮助还是损害了这个程序。
  • 第一次优化通常不会是最好的。即使找到了效果很不错的,也不要停下扩大战果的步伐。
  • 代码调整这一话题有点类似于核能,.富有争议,甚至会让人冲动。一些人认为代码调整损害了代码可读性和可维护性,他们绝对会将其弃之不用。其他人则认为只要有适当的安全保陣,代码调整对程序是有益的。如果你决定使用上述的调整方法,请务必谨慎行事。

转载于:https://www.cnblogs.com/taceywong/p/8726204.html

你可能感兴趣的文章
Springboot应用缓存实践之:Ehcache加持
查看>>
CSS+DIV之流式布局
查看>>
客车网上售票系统(Java源码+sql脚本)
查看>>
创新扶贫机制 助推产业发展——2019消费扶贫与乡村振兴(深圳)大会即将召开...
查看>>
linux之入门---U盘安装centos7.3
查看>>
运维Linux技巧
查看>>
熊掌号是什么及对小网站真的有保护作用吗?
查看>>
java虚拟机内存监控工具
查看>>
chmod命令、chown命令、umask命令、chattr命令、lsattr命令
查看>>
APP网站安全漏洞检测服务的详细介绍
查看>>
Knative Eventing 中如何实现 Registry 事件注册机制
查看>>
今天的学习
查看>>
Makefile有三个非常有用的变量。分别是$@,$^,$
查看>>
网络大厂和以色列研究团运用ML打造洪水预测模型
查看>>
Dart | 浅析dart中库的导入与拆分
查看>>
FFMpeg编程1 环境搭建
查看>>
SpringBoot | 第十八章:web应用开发之WebJars使用
查看>>
Web开发:我希望得到的编程学习路线图
查看>>
Hadoop Outline Part 3 (I/O - Avro)
查看>>
Ubuntu16.04下查看软件版本及安装位置
查看>>