//=======================
//原始代码
for(a=0;a<666;++a)
x+=p[a];
//=======================
//2重展开
for(a=0;a<666;a+=2)
{
x+=p[a];
x+=p[a+1];
}
//========================
//4重展开
for(a=0;a<664;a+=4)
{
x+=p[a];
x+=p[a+1];
x+=p[a+2];
x+=p[a+3];
}
x+=p[a];//剩下的两次迭代放后面
x+=p[a+1];
//========================
循环迭代次数在编译时刻是未知的,4重展开
for(a=0;a<(n&~3);a+=4)
{
x+=p[a];
x+=p[a+1];
x+=p[a+2];
x+=p[a+3];
}
for(a=(n&~3);a<n:++a)//剩下的迭代添加到末尾
x+=p[a];
8487

被折叠的 条评论
为什么被折叠?



