1、空间开销测试:下面的程序测试各种C++结构及其分配内存的空间开销。
在32位的Windows 7上用gcc 4.4.1编译执行的结果:
2、时间开销测试:下面程序测试一系列C运算的时间开销。由于基本运算的执行时间非常短,我们对一个运算执行多遍,每遍执行n*n次(n比较大),输出每一遍总的时间开销,最后算出一次运算的平均时间开销。用平均时间开销能更好的反映运算的时间消耗。
在32位的Windows 7上用gcc 4.4.1编译执行的结果:
每一行的前5个数表示5遍中每一遍的总运行时间开销,每一遍中执行该运算共n*n次。最后一个数给出了以纳秒为单位的每个运算的平均时间开销。从中可以看出整数、浮点数和数组运算的开销都不大,比较和交换的宏版本、内联版本比函数版本速度更快,由于这些函数非常简单,因此开销都不大。三角函数的开销大了差不多两个数量级,内存分配的开销也比较大。