常用的代码优化方法
# 常用的代码优化方法
# 优化的分类
# 常用的优化方法
# 删除公共子表达式
- 局部公共子表达式
- 全局公共子表达式
# 删除无用代码
复制传播
无用代码
# 常量合并
# 代码移动
- 这个转换处理的是那些不管循环执行多少次都得到相同结果的表达式(即循环不变计算,loop-invariant computation) ,在进入循环之前就对它们求值
循环不变计算的相对性
# 强度削弱
用较快的操作代替较慢的操作,如
- 用加代替乘
- 用乘代替除
对于一个变量x ,如果存在一个正的或负的常数c使得每次x被赋值时它的值总增加c ,那么x就称为归纳变量(Induction Variable)
归纳变量可以通过在每次循环迭代中进行一次简单的增量运算(加法或减法)来计算
# 删除归纳变量
- 在沿着循环运行时,如果有一组归纳变量的值的变化保持步调一致,常常可以将这组变量删除为只剩一个
编辑 (opens new window)