int main() { clock_t start,end; float sum_time; int len=2; start = clock(); int i; float * ft=new float[len]; for(i=1;i<1000000;i++){ int j; for(j=0;j< len;j++){ ft[j]=i*j*0.000031415726; } } end = clock(); /////////////////////////////////////// sum_time +=1.0*(end-start) /1000; printf("time : %d ms \n",(end-start)); start = clock(); // int i=1; for(i=1;i<1000000;i++){ float * ft=new float[len]; int j; for(j=0;j<len;j++){ ft[j]=i*j*0.000031415726; } delete ft; } end = clock(); /////////////////////////////////////// sum_time +=1.0*(end-start) /1000; printf("time2 : %d ms \n",(end-start)); }
当len比较小时,time2是time的几百倍,说明第一种方式优化效果明显。
当len是10000时,time2是time1的1.2倍,还是第一种方式效果比较好。