全部博文(436)
分类: IT业界
2012-11-26 01:42:59
本章介绍了许多提高代码性能的技术。为了提高代码性能,程序员用每元素的周期数来衡量程序的性能,知道我们改进代码,可以让程序运行更快,更优,所以优化程序性能是一个必要的过程。
在优化的过程中,我们要考虑代码的使用方式,以及影响他的关键因素,程序员必须在实现和维护程序的简单性与它的运行速度之间做出权衡折衷。
优化程序的方法:
一、减少过程调用(从语言方面)
1、 用“优化编译器”优化程序,编译器是当今软件开发中最基本的工具。编译器的性能直接影响生成的可执行程序的性能。最快捷,最简单改善程序性能的方法是使用具有优化功能的编译器。优化编译器可以移动代码
2、 代码移动优化,这类优化包括识别出要执行多次但是计算结果不会改变的计算,因而可以把计算移动到代码前面、不会被多次求值的部分,
3、 消除循环中的函数调用,调用会可能带来相当大的开销,优化后会损害模块性和抽象性,但这是有必要的优化
4、 消除不必要的存储器引用,以书上为例,循环中利用临时变量计数,最后结果传到存储器。
二、利用处理器执行指令,提高性能(从硬件方面)(理论不理解)
三、循环展开,就是减少循环次数,他只适用于整数求和情况中代码的性能(不太懂)
四、运用指针,优化程序,指针代码减少程序可读性,指针代码和数组代码依赖于机器、编译器,编译器对数组代码应用非常高级优化,而对指针由低级优化,所以数组代码更可取。
五、程序并行(不理解)
六、分支预测
七、代码剖析程序,在大程序中找到可以优化的程序
对一些名词的解释:
目标代码(objectcode)指科学中或处理后所生成的代码,它一般由机器代码或接近于的代码组成。
汇编语言(Assembly Language)是面向机器的语言。
源代码(source code)是指未编译的按照一定的规范书写的文本文件。 源代码(也称源程序),是指一系列人类可读的语言指令。