4.1 优化程序的方法

发布时间 2023-06-04 16:34:44作者: C~A

消除循环的低效率

代码移动是程序优化的一种方法,包括识别要执行多次(在循环中)但是不会改变计算结果的计算,因而可以将计算移动到代码前面不会被多次求值的部分。例如将循环中strlen()函数的返回值赋给一个变量,就不用每次循环都执行一次strlen()操作。

减少过程调用

过程调用会带来开销,而且妨碍大多数形式的程序优化。

消除不必要的内存引用

例如某些代码会将运算的的值累积在指针指定的位置,而在每次迭代时,累积变量的数值都要从内存读出再写入内存,这样的读写很浪费,每次迭代开始时从指针位置读出的值就是上次迭代最后写入的值。为了消除不必要的内存读写,我们引入一个临时变量,它在循环中用来累积计算出来的值,只有在循环完成后结果才存放在指针位置中。就可以将每次迭代的内存操作从两次读一次写减少到一次读。