CH2 程序性能

2.1 引言

  程序性能(program performance):指一个程序所需要的大小和时间。采用分析的方法进行性能分析(performance analysis),采用实验分方法进行性能测量(performance measurement)。

  程序的空间复杂性(space complexity):指运行完一个程序所需要的内存大小。空间复杂性可用于:

  *程序内存大小的分配;

  *确认是否有足够内存运行程序;

  *可以利用时间复杂性估算一个程序所能解决问题的上限规模。

  程序的时间复杂性(time complexity):运行完该程序所需要的时间。

2. 2 空间复杂性 

  程序所需要的空间主要包括以下几个部分:

  *指令空间(instruction space):存储经过编译之后的程序指令所需要的空间。

  *数据空间(data space):存储所有常量和变量值所需的空间。可分为以下两个部分:

  1)存储常量和简单变量。

  2)存储复合变量,包括数据结构所需的空间以及动态分配的空间。

  *环境栈空间(environment stack space):用来保存函数调用返回时恢复运行所需要的信息。如func1调用func2,则需要保存func2结束时fun1继续执行指令的地址。

  编译器可以为用户提供代码及执行时间的优化

上一篇:面向切面的Spring


下一篇:高效、安全的部署Redis Cluster