codes#1

#include<cstdio>
#include<ctime>
//double _Time=0.0F;
inline const double GetTime()
{
	return double(clock())/CLOCKS_PER_SEC;
}
const int Limit=1600000000;
//const int Limit=1000000;
int main()
{
	double last=0.0F;

	int sum;
	
	/*pre test*/
	last=GetTime();
	sum=0;
	for(int i=0;i<=Limit;++i)
		sum+=i;
//	printf("%lf\n",GetTime()-last);
	
	
	puts("Normal ++i\ncostTime:");
	last=GetTime();
	sum=0;
	for(int i=0;i<Limit;++i)
		sum+=i;
	printf("%lf\n",GetTime()-last);


	puts("Normal i++\ncostTime:");
	last=GetTime();
	sum=0;
	for(int i=0;i<Limit;i++)
		sum+=i;
	printf("%lf\n",GetTime()-last);


	puts("Register ++i\ncostTime:");
	register int _sum;
	last=GetTime();
	_sum=0;
	for(register int i=0;i<Limit;++i)
		_sum+=i;
	printf("%lf\n",GetTime()-last);


	register int _sum1=0,_sum2=0,_sum3=0,_sum4=0;
	puts("Register ++i ParallelComputing*4\ncostTime:");
	last=GetTime();
	for(register int i=0;i<Limit;i+=4)
	{
		_sum1+=i;
		_sum2+=i+1;
		_sum3+=i+2;
		_sum4+=i+3;
	}
	_sum=_sum1+_sum2+_sum3+_sum4;
	printf("%lf\n",GetTime()-last);
	
	
	_sum1=0,_sum2=0,_sum3=0,_sum4=0;
	register int _sum5=0,_sum6=0,_sum7=0,_sum8=0;
	puts("Register ++i ParallelComputing*8\ncostTime:");
	last=GetTime();
	for(register int i=0;i<Limit;i+=8)
	{
		_sum1+=i;
		_sum2+=i+1;
		_sum3+=i+2;
		_sum4+=i+3;
		_sum5+=i+4;
		_sum6+=i+5;
		_sum7+=i+6;
		_sum8+=i+7;
	}
	_sum=_sum1+_sum2+_sum3+_sum4+_sum5+_sum6+_sum7+_sum8;
	printf("%lf\n",GetTime()-last);


	_sum1=0,_sum2=0,_sum3=0,_sum4=0,_sum5=0,_sum6=0,_sum7=0,_sum8=0;
	register int _sum9=0,_sum10=0,_sum11=0,_sum12=0,_sum13=0,_sum14=0,_sum15=0,_sum16=0;
	puts("Register ++i ParallelComputing*16\ncostTime:");
	last=GetTime();
	for(register int i=0;i<Limit;i+=16)
	{
		_sum1+=i;
		_sum2+=i+1;
		_sum3+=i+2;
		_sum4+=i+3;
		_sum5+=i+4;
		_sum6+=i+5;
		_sum7+=i+6;
		_sum8+=i+7;
		_sum9+=i+8;
		_sum10+=i+8;
		_sum11+=i+10;
		_sum12+=i+11;
		_sum13+=i+12;
		_sum14+=i+13;
		_sum15+=i+14;
		_sum16+=i+15;
	}
	_sum=_sum1+_sum2+_sum3+_sum4+_sum5+_sum6+_sum7+_sum8+_sum9+_sum10+_sum11+_sum12+_sum13+_sum14+_sum15+_sum16;
	printf("%lf\n",GetTime()-last);

}
posted @ 2019-10-28 14:37  ZYyboT  阅读(90)  评论(0)    收藏  举报