![]() ![]() |
|
宏比函数实现在时间上的优越性探讨 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 13:57:10 文章录入:杜斌 责任编辑:杜斌 | |
|
|
例子一:用函数实现 #include<time.h> int GETMAX(int x,int y,int z) { return (x>=y?x:y)>z?(x>y?x:y):z; } int tGETMAX(int x,int y,int z,int m,int n,int p) { return GETMAX(x,y,z)>=GETMAX(m,n,p)?GETMAX(x,y,z):GETMAX(m,n,p); } int main(void) { time_t start,end; long i; clrscr(); start=clock(); for(i=0;i<10000000;i++) tGETMAX(1,2,3,4,5,6); end=clock(); printf("%lf",(double)(end-start)/CLK_TCK); getch(); } 执行时间:1.373626秒 可执行文件大小:29,938字节 例子二:用宏实现 由于上面二个例子可见:在时间上1.373626秒与0.054945秒之间的差值.在空间上29,938字节与29,497字节之间的差值. 这里需要注意的是,使用宏来实现在空间上的优势只当宏使用得很少.但当宏使用得多空间效率就没有用函数来实现的好. |
|
![]() ![]() |