《代码大全》阅读笔记-26-代码调整技术

核对表(代码调整方法)

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

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

仅仅提高代码执行速度

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

要点

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