《代码大全》阅读笔记-26-代码调整技术
核对表(代码调整方法)
同时改善代码执行速度和规模
- 用査询表替换复杂逻辑。
- 合并循环
- 使用整型变量而非浮点变量。
- 在编译时初始化数据。
- 使用正确的常量类型。
- 预先计算结果。
- 删除公共子表达式。
- 将关键子程序代码转化为某种低级语言代码。
仅仅提高代码执行速度
- 在知道答案后就停止执行判断。
- 根据各种情况的出现频率子句排序。
- 比较相似逻辑结构的性能。
- 使用惰性求值
- 将循环中的if判断转到外部。
- 展开循环。
- 将循环内部所做的工作减少到最低限度。
- 在査找循环中使用哨兵。
- 把执行最为频繁的循环放在嵌套循环的最里面。
- 减轻内层循环的强度。
- 将多维数组改为一维数组。
- 最大限度减少数组索引。
- 为数据类型扩充索引。
- 对频繁使用的值进行缓存。
- 利用代数恒等式。
- 降低逻辑和数学表达式的强度。
- 注意系统调用。
- 用内联子程序重写代码。
要点
- 优化结果在不同的语言、编译器和环境下有很大差异。如果没有对每一次的优化进行测量,你将无法判断优化到底是帮助还是损害了这个程序。
- 第一次优化通常不会是最好的。即使找到了效果很不错的,也不要停下扩大战果的步伐。
- 代码调整这一话题有点类似于核能,.富有争议,甚至会让人冲动。一些人认为代码调整损害了代码可读性和可维护性,他们绝对会将其弃之不用。其他人则认为只要有适当的安全保陣,代码调整对程序是有益的。如果你决定使用上述的调整方法,请务必谨慎行事。
还真有人点开啊🤣随意随意😂