消除循环的低效率
代码移动是程序优化的一种方法,包括识别要执行多次(在循环中)但是不会改变计算结果的计算,因而可以将计算移动到代码前面不会被多次求值的部分。例如将循环中strlen()函数的返回值赋给一个变量,就不用每次循环都执行一次strlen()操作。
减少过程调用
过程调用会带来开销,而且妨碍大多数形式的程序优化。
消除不必要的内存引用
例如某些代码会将运算的的值累积在指针指定的位置,而在每次迭代时,累积变量的数值都要从内存读出再写入内存,这样的读写很浪费,每次迭代开始时从指针位置读出的值就是上次迭代最后写入的值。为了消除不必要的内存读写,我们引入一个临时变量,它在循环中用来累积计算出来的值,只有在循环完成后结果才存放在指针位置中。就可以将每次迭代的内存操作从两次读一次写减少到一次读。
标签:4.1,迭代,程序,每次,循环,内存,优化,指针 From: https://www.cnblogs.com/LCAB/p/17455809.html